我有一个包含数百万行的文本文件。我想删除字符串之前的所有文本(test:
包括字符串)。还想删除空格后的文本。
文件中的一些内容:
file1:test:src/draw/no/ind/erefe.c/gegegewg 1
filesdsd:test:src/draw/no/ind/reryeryrey.c/jhrtjtrj 1
fileskdk:sdsD:test:abc/disp/no/ind/ryretyrey.txt/Display::Restrict 20
期望输出:
src/draw/no/ind/erefe.c/gegegewg
src/draw/no/ind/reryeryrey.c/jhrtjtrj
abc/disp/no/ind/ryretyrey.txt/Display::Restrict
我有下面的代码,它/
从文件中删除文本,并在命令行上回显行echo
。
for /f "tokens=1 delims=/" %a in (abc.txt) do (echo %a >> newfile.txt)
我想修改上述代码以获得上述所需的输出。但不要在 cmd 上打印行,因为这会花费很多时间。
答案1
这是你的命令:
cut -d " " -f1 file.txt | sed -e '1,$s/^\(.*\):test:\(.*\)$/\2/' > new_file.txt
或者你可以修改原始文件:
sed -i '1,$s/^\(.*\):test:\(.*\) .*$/\2/' file.txt
更新:我没有注意到问题是针对 Windows 平台的。但是也有适用于 Windows 的 sed,可以通过多种方式安装:
https://stackoverflow.com/questions/127318/is-there-any-sed-like-utility-for-cmd-exe