我成功地使用 findstr
在一长串文件中寻找字符串。我将 findstr
的输出重定向到不同的文本文件,但是我需要去掉输出行的开始部分,其中还包含源文件的引用。基础是下面的例子
echo testtest > testing.txt
findstr 'test' *.txt > output.txt //output is 'testing.txt:testtest'
我需要做这样的事情来代替
echo testtest > testing.txt
findstr 'test' *.txt | *something* > output.txt //output is 'testtest'
警告:
我只能使用标准的 CMD 命令,我不能在目标机器上安装新软件
最佳答案
像这样的东西应该可以工作:
@echo off
for /f "delims=: tokens=1*" %%i in ('findstr "test" *.txt') do (
echo %%j
) >> output.txt
注意所有输入文件必须有尾随换行符,否则当前文件的第一个匹配项可能会附加到前一个文件的最后一个匹配项,如果该匹配项在最后一行:
testtestFOO.TXT:something test other
关于windows - 替换 findstr 命令输出中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14477443/