我有一个这样的文件:
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。它应该删除空行。
不幸的是,手册说使用范围 like[!-~]
是不安全的。但是,最终只打印包含可打印字符的行:print:
对我有用:
sed -n '/[[:print:]]/p'
删除空行:
sed '/^[[:space:]]*$/d'
由于“空白”行中似乎存在未知的不可打印字符,您可以重新编写 sed 命令以仅显示其中包含可打印字符的行:
sed -n '/[!-~]/p'
你也可以试试:
sed -n '/^./p'
它只打印行首至少有一个字符的行。(顺便说一句sed '/^$/d'
对我有用)