我正在运行以下内容,但它在新文件的顶部和底部以空行返回。
如何在没有这些空行的情况下输出到新文件?
input | sed -E '/^$/d' > file.txt
以下内容也没有效果。
sed '1d'
sed '$d'
我不确定表达式存在问题的位置。
答案 0 :(得分:3)
如果您习惯使用awk
,那么这将有效 -
awk 'NF' INPUT_FILE > OUTPUT_FILE
答案 1 :(得分:1)
grep . file_name > outfile
会为你完成这项工作。
答案 2 :(得分:0)
这可能对您有用:
echo -e " \t\r\nsomething\n \t \r\n" | sed '/^\s*$/d' | cat -n
1 something
N.B。这将删除所有空白行,以保留文件使用正文中的空行:
echo -e " \t\r\n something\n \nsomething else \n \t \r\n" |
sed ':a;$!{N;ba};s/^\(\s*\n\)*\|\(\s*\n\)*$//g'
something
something else