ファイルの先頭と末尾から空白行を削除する方法は?

ファイルの先頭と末尾から空白行を削除する方法は?

ファイルの先頭と末尾から空白行を削除したいが、途中で空でない行間の空白行を削除したくない。私は解決策になるとsed思います。awk

源泉:

1:
2:
3:line1
4:
5:line2
6:
7:
8:

出力:

1:line1
2:
3:line2

ベストアンサー1

この試み、

ファイルの先頭から空白行を削除するには:

sed -i '/./,$!d' filename

ファイルの末尾から空白行を削除するには:

sed -i -e :a -e '/^\n*$/{$d;N;ba' -e '}' file

ファイルの先頭と末尾から空白行を削除するには:

sed -i -e '/./,$!d' -e :a -e '/^\n*$/{$d;N;ba' -e '}' file

男性からsed

-e script, --expression=script -> 実行するコマンドにスクリプトを追加します。

b label -> labelに分岐します。ラベルが省略された場合、スクリプトの最後に分岐します。

a - >行の後にテキストを追加します(代替構文)。

$-> は最後の行と一致します。

n N - >パターンスペースに改行文字を追加した後、パターンスペースに次の入力行を追加します。これ以上入力がない場合、sed は他のコマンドを処理せずに終了します。

おすすめ記事