3
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     

我有一个这样的文件。我想删除两行之间的空格。即我希望文件是这样的。

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

4 回答 4

3

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

grep -v '^ *$' $files

sed '/^ *$/d' $files
于 2013-07-02T07:36:01.167 回答
2

在这里你有一个很短的:

awk '$0' file

如果字符串不为空,则条件被评估为真 - 请注意,这{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 
于 2013-07-02T09:37:14.723 回答
1

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

sed '/^$/d' file
于 2013-07-02T08:17:36.277 回答
0

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

grep -e '[^\n]' temp.txt > temp.out
于 2013-07-02T07:47:04.977 回答