如何从Unix文件中删除空行

前端之家收集整理的这篇文章主要介绍了如何从Unix文件中删除空行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要从输入文件删除所有空白行,并写入输出文件。这里是我的数据如下。
11216,33,1032747,64310,1,1.878,1.087,5,18-JAN-13,000603221321

11216,1033196,31300,1.5391,1.054,059762153003

11216,1033246,000603211032

11216,1033280,31118,1.5513,1.115,055111034001

11216,1033287,000378689701

11216,1033358,000093737301

11216,1035476,37340,1.7046,1.123,045802041926

11216,045802041954

11216,045802049326

11216,045802049383

11216,1036985,15151,1.4436,1.065,000093415580

11216,1037003,000781202001

11216,000781261305

11216,000781603955

11216,000781615746
sed -i '/^$/d' foo

这告诉sed删除符合regex ^ $的每一行,即每一个空行。 -i标志原地编辑文件,如果您的sed不支持输出写入临时文件并替换原始文件

sed '/^$/d' foo > foo.tmp
mv foo.tmp foo

如果你也想删除只包含空格的行(不只是空行),请使用:

sed -i '/^[[:space:]]*$/d' foo

编辑:也删除行的结尾处的空白,因为显然你已经决定你也需要:

sed -i '/^[[:space:]]*$/d;s/[[:space:]]*$//' foo

猜你在找的Bash相关文章