我正在運行以下內容,但是它在新文件的頂部和底部以空行返回。SED:第一個和最後一個空行不被刪除
如何輸出到沒有這些空行的新文件?
input | sed -E '/^$/d' > file.txt
以下也沒有效果。
sed '1d'
sed '$d'
我不確定表達式存在問題。
我正在運行以下內容,但是它在新文件的頂部和底部以空行返回。SED:第一個和最後一個空行不被刪除
如何輸出到沒有這些空行的新文件?
input | sed -E '/^$/d' > file.txt
以下也沒有效果。
sed '1d'
sed '$d'
我不確定表達式存在問題。
如果您正在使用awk
舒服那麼這樣的工作 -
awk 'NF' INPUT_FILE > OUTPUT_FILE
grep . file_name > outfile
會爲你做的工作。
這可能會爲你工作:
echo -e " \t\r\nsomething\n \t \r\n" | sed '/^\s*$/d' | cat -n
1 something
注:這將刪除所有空白行,在文件中使用的身體保持空行:
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
這個工作對我來說,不知道你做錯了什麼:'sed的「/^$/d」 < << $'\ n \ none \ ntwo \ nthree \ n \ n'' – SiegeX 2012-01-18 06:16:03
您的輸入是什麼樣的?我可以看到你的sed表達式唯一的事情是它應該是-e而不是-E ... – 2012-01-18 06:22:09
也許你的輸入'file.txt'有空格「空行」?那麼'/^* $/d''作爲你的正則表達式呢? – 2012-01-18 06:43:39