删除文本文件中行之间的空格

时间:2013-07-02 07:31:26

标签: unix line space

TCAMPBMG0064X344F4E1              1     47552    85.280   557.600   11300     

TCAMPBMG0064X352F8E1              1     61265    85.280   718.400   11463     

TCAMPBMG0064X344F4E1              1     47552    85.280   557.600   11300     

TCAMPBMG0064X352F8E1              1     61265    85.280   718.400   11463     

我有这样的文件。我想删除两行之间的空格.i.e。我希望文件是这样的。

TCAMPBMG0064X344F4E1              1     47552    85.280   557.600   11300     
TCAMPBMG0064X352F8E1              1     61265    85.280   718.400   11463     
TCAMPBMG0064X344F4E1              1     47552    85.280   557.600   11300     
TCAMPBMG0064X352F8E1              1     61265    85.280   718.400   11463     

如何更改文件以消除UNIX中每行上下的空格? 我尝试了:%s/\s//g,但线条上方和下方的空格仍为

4 个答案:

答案 0 :(得分:3)

使用grep或sed如下所示删除空行

grep -v '^ *$' $files

sed '/^ *$/d' $files

答案 1 :(得分:2)

这里你的篇幅很短:

awk '$0' file

如果字符串不为空,则条件评估为true - 请注意{print $0}awk中的默认块,因此如果这是您要执行的唯一操作,则可以省略它。

测试

$ awk '$0' file
TCAMPBMG0064X344F4E1              1     47552    85.280   557.600   11300     
TCAMPBMG0064X352F8E1              1     61265    85.280   718.400   11463     
TCAMPBMG0064X344F4E1              1     47552    85.280   557.600   11300     
TCAMPBMG0064X352F8E1              1     61265    85.280   718.400   11463 

答案 2 :(得分:1)

使用以下sed命令删除空行:

sed '/^$/d' file

答案 3 :(得分:0)

使用grep查找非空白行,例如:

grep -e '[^\n]' temp.txt > temp.out