我在Windows上使用grep来过滤文件,并希望将输出传递到另一个批处理脚本。
例如
grep "foo" bar.txt | mybatch.bat
在mybatch中,我想处理每条匹配的线
例如mybatch.bat:
echo Line with foo: %1
在Linux上,我可以通过解决
grep "foo" bar.txt | while read x; do mybatch.sh $x; done
但不知道如何在Windows计算机上执行此操作。
提前致谢!
最佳答案
您可以使用for
:
for /f %x in ('grep "foo" bar.txt') do call mybatch.cmd "%x"
这将为每个非空行调用一次批处理文件,就像您的shell脚本示例一样。