如何在 Windows 批处理文件中读取括号分隔的文本文件?

如何在 Windows 批处理文件中读取括号分隔的文本文件?

我有一个 txt 文件,里面有一些行,下面是我的 txt 文件

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

我需要使用批处理文件捕获开括号和闭括号之间的数字。

答案1

使用批处理文件:

:: 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

如果您尝试捕获花括号内的数据,那么您可以使用以下 powershell 命令。

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

输出

100,1011
india,o891
1100,101

相关内容