如何使用命令行删除Unix/Linux中文件中的空/空行(仅包括空格)?
file.txt含量
Line:Text
1:<blank>
2:AAA
3:<blank>
4:BBB
5:<blank>
6:<space><space><space>CCC
7:<space><space>
8:DDD输出所需
1:AAA
2:BBB
3:<space><space><space>CCC
4:DDD发布于 2011-03-28 22:19:14
这条sed行应该能做到这一点:
sed -i '/^$/d' file.txt-i意味着它将就地编辑文件.
发布于 2015-05-05 16:12:49
grep简单的解决方案是使用grep (GNU或BSD)命令,如下所示。
注意:如果你得到不想要的颜色,这意味着你的grep是grep --color=auto的别名(type grep检查)。在这种情况下,您可以添加--color=none参数,或者以\grep的形式运行命令(忽略别名)。
ripgrep类似于ripgrep (适用于大得多的文件)。
删除空行(不包括带空格的行):
rg -N . file.txt或包括有空格的线条:
rg -N "\S" file.txt另请参阅:
sed:使用sed删除空行awk:使用awk删除空白行发布于 2011-03-28 22:20:23
您可以在grep中使用-v选项来删除匹配的空行。
像这样
grep -Ev "^$" file.txthttps://serverfault.com/questions/252921
复制相似问题