テキストの最後の空行を取り除くには、シェルをどのように使用しますか?
最後の空行を除去するには、次のコマンドを使用できます。
sed -e :a -e '/^\n*$/{$d;N;ba' -e '}' 文件名
この命令はテキストファイルを処理するためにsedツールを使用します。実行するコマンドを指定するために-eオプションを使用します。具体的なコマンドは以下の通りです:
- Aは、後続のコマンドにジャンプするためのラベルです。
- /^(\n)+$/は、空行に一致する正規表現です。^は行頭を意味し、\nは改行を表し、+は1つ以上を表します。したがって、この正規表現は1つ以上の改行の連続に一致します。
- {$d;N;ba’}は、空行に一致した場合に処理するコマンドブロックです。$dは最後の行を削除し、Nは次の行を読み取りパターンスペースに追加し、baはラベル「a」の位置にジャンプして処理を継続します。これにより、連続する空行を読み取り、削除し続け、空行ではない行が現れるまで続けます。
指定するテキストファイルのパスとファイル名でファイル名を置換し、そのコマンドを実行すると、最後の空行が削除されます。