2017-11-09 13 views
1

-or文の片面だけがあれば動作しますが、出力ファイルにはtrueという1行しかありません。特定の文字列で始まらない限り、ファイルから行を削除してください

指定したいずれかの行で始まる行をどのように表示するには?

(Get-Content "C:\Users\carst\Desktop\temp.xml") -match "<Module" -or (Get-Content "C:\Users\carst\Desktop\temp.xml") -match "<description>" | Out-File "C:\Users\carst\Desktop\temp2.xml" 

答えて

3

を、それがXMLファイルだとして、あなたはノードの前にスペースがあるかどうかを確認する必要があります。

あなたは2件の検索に参加しても^\s*と先頭にスペースやないがあるかどうかを確認することができます

(Get-Content "C:\Users\carst\Desktop\temp.xml") -match '^\s*<(Module|description)' | Out-File "C:\Users\carst\Desktop\temp2.xml" 
2

あなたはパイプ文字を使用して1試合ですべてに参加することができます。

(Get-Content "C:\Users\carst\Desktop\temp.xml") -match '<Module|<description>' | 
Out-File "C:\Users\carst\Desktop\temp2.xml 
+0

これが私のために動作しませんでした。出力ファイルはまだ "真" – carstorm

関連する問題