我有一个这样的文件:
2733617 3.00 3 3
2733617 E1b1 8.00 8 16
2733617 E1b1b1b 2.00 2 4
2733617 I1 294.00 296 590
2733617 I2 1.00 1 2
2733617 I2a1 2.00 2 4
sed '/^$/d'
对我不起作用。 Outfile看起来就像infile。它应该删除空行。
答案 0 :(得分:3)
不幸的是,手册说使用像[!-~]
这样的范围是不安全的。但是,只使用:print:
打印包含可打印字符的行最终为我工作:
sed -n '/[[:print:]]/p'
答案 1 :(得分:2)
由于“空白”行中似乎存在未知的不可打印字符,因此您可以重新编写sed命令,以仅显示包含可打印字符的行:
sed -n '/[!-~]/p'
答案 2 :(得分:2)
删除空行:
sed '/^[[:space:]]*$/d'
答案 3 :(得分:0)
您也可以尝试:
sed -n '/^./p'
仅打印在行的开头至少有一个char的行。 (BTW sed '/^$/d'
适合我)