私は以下を実行していますが、新しいファイルの上部と下部に空白の行が表示されています。SED:最初と最後の空白行が削除されていない
これらの空の行を除いて新しいファイルに出力するにはどうすればよいですか?
input | sed -E '/^$/d' > file.txt
次のような効果はありません。
sed '1d'
sed '$d'
表現に問題があるかどうかはわかりません。あなたが快適awk
を使用している場合
私は以下を実行していますが、新しいファイルの上部と下部に空白の行が表示されています。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
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
これは、あなたが間違ってやっているかわからない、私の作品: 'sedの「/^$/D」< << $ '\ n \ none \ ntwo \ nthree \ n \ n " – SiegeX
あなたの入力はどのように見えますか?私があなたのsed式で見ることができるのは、-Eではなく-eでなければならないということだけです。 –
あなたの入力ファイル 'file.txt'にスペースの「空行」があるのでしょうか?あなたの正規表現として ''/^ * $/d 'はどうでしょうか? –