awk を使用してテキスト ファイルの行間スペースを削除したいと考えています。awkでこれを行うにはどうすればよいですか?
abcd
abcd
abcd
望ましい出力は
abcd
abcd
abcd
awk を使用してテキスト ファイルの行間スペースを削除したいと考えています。awkでこれを行うにはどうすればよいですか?
abcd
abcd
abcd
望ましい出力は
abcd
abcd
abcd
awk 'NF' data.txt
file から非空白行のみを出力しますdata.txt
。これは、フィールド数 ( NF
) がゼロでない (つまり、ゼロより大きい)行のみを出力することによって機能します。
あるいは、
awk 'length' data.txt
長さがゼロでない (つまり、0 より大きい) 行だけを出力することによって機能します。
sed
またはなどgrep
、これも実行できる他のツールがありますが、具体的にawk
解決策を求められたためです。
これにより、非空白行のみが出力されます
awk '/./' test.txt
これは代替の unsing grep です (空の行に一致し、-v で結果を反転します):
grep -v ^$ test.txt
入力ファイルを上書きするには、次を使用できますsponge
: Is there a way to modify a file in-place
awk '/./ {print}' file | sponge file
おそらく、これらの行には空白 (のみ) がある (またはない):
awk '!/^[[:blank:]]*$/' inputfile
と同じことsed
:
sed '/^[[:blank:]]*$/d' inputfile