it-swarm-ja.com

Windowsバッチファイルで中括弧で区切られたテキストファイルを読み取るにはどうすればよいですか?

私はいくつかの行を持っているファイルtxtを持っています、そしてここに私のtxtファイルがあります

rule.txt
----------------------------------------
direct
replace{100,1011}
replace{india,o891}
replace{1100,101}
-----------------------------------------

バッチファイルを使用して、中括弧と中括弧の間の数値をキャプチャする必要があります。

2
seepana avinash

バッチファイルの場合:

:: Q:\Test\2018\12\26\SU_1387726.cmd
@Echo off
For /F "tokens=2,3 delims={,}" %%A IN (
   ' findstr "{" rule.txt'
) DO ECHO:%%A =^> %%B

サンプル出力:

> Q:\Test\2018\12\26\SU_1387726.cmd
100 => 1011
india => o891
1100 => 101
2
LotPings

中括弧内のデータをキャプチャしようとしている場合は、次のPowerShellコマンドを使用できます。

Get-ChildItem rule.txt | Select-String -Pattern '(?<={).*?(?=})' | % { $_.Matches } | % { $_.Value }

出力

100,1011
india,o891
1100,101
1
CodeIt