Linuxで次のコマンドと同等のコマンドをWindowsで見つけたい:
cat file.txt | grep -oP '\d{5}-\d{5}'
でる
99527-86793
と:
findstr /R "pattern" file.txt
私はこれを試しますが、部分的に動作します。
findstr [0-9]-[0-9] file.txt
でる:
de4f2114-847c-4cf2-8a0b-a38d04c0fdac1/1
99527-86793
出力をこれらの数値のみに区切るにはどうすればよいですか。開始と終了の5つの数値0〜9-5つの数値0〜9
うん
このような何かがトリックを行います:
findstr [0-9][0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9] file.txt
grep for windows にも興味があるかもしれません。
findstrは一致を抽出しません。見つかった文字列のみを返します。 正規表現を扱うときは、powershellを使用することをお勧めします。次のようなことができます:
select-string -Path 'c:\input.txt -Pattern '\d{5}-\d{5}' -AllMatches | % { $_.Matches } | % { $_.Value } > 'c:\output.txt'
編集:findstrが一致を返すことができないというのは間違っていましたが、正規表現にはPowershellを使用することをお勧めします.