我需要从输入文件中删除所有空白行,并写入输出文件。这里是我的数据如下。
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。