and*_*ndy 5 regex windows sed batch-file
我正在尝试使用Windows批处理程序从文本文件中删除所有空白行。
我知道你实现这一目标是巴最简单的方法SH是通过正则表达式和sed命令:
sed -i "/^$/d" test.txt
Run Code Online (Sandbox Code Playgroud)
问题:Windows批处理是否具有类似的简单方法,可从文本文件中删除所有行?否则,最简单的方法是什么?
注意: 我正在运行此批处理脚本来设置新的Windows计算机供客户使用,因此最好无需安装其他程序(然后再安装)即可实现这一目标-理想情况下,我将仅使用“标准”程序批处理库。
小智 8
您还可以使用 FINDSTR:
findstr /v "^$" C:\text_with_blank_lines.txt > C:\text_without_blank_lines.txt
Run Code Online (Sandbox Code Playgroud)
/V——仅打印不包含匹配项的行。
^ --- 行位置:行首
$ --- 行位置:行尾
我通常通过管道将命令输出传递给它:
dir | findstr /v "^$"
Run Code Online (Sandbox Code Playgroud)
您可能还会发现类似问题的这些答案很有帮助,因为某些“空行”可能包含空格或制表符。
/sf/answers/3151527081/
/sf/answers/1124348781/
对于/ f,不处理空行:
for /f "usebackq tokens=* delims=" %%a in ("test.txt") do (echo(%%a)>>~.txt
move /y ~.txt "test.txt"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8809 次 |
| 最近记录: |