sedコマンドを使用してテキストファイルから行を削除する方法
以下に、sedコマンドとbashシェルを使用してテキストファイルから行を削除する方法の例を示します。こちらがサンプルファイルの内容です:
cat example.txt
AAAAAAAAAA
BBBBBBBBBB
CCCCCCCCCC
DDDDDDDDDD
EEEEEEEEEE
次に、上記の example.txt ファイルから2行目を削除します:
sed 2d example.txt
AAAAAAAAAA
CCCCCCCCCC
DDDDDDDDDD
EEEEEEEEEE
さらに、このファイルから複数の行を削除することもできます。例えば、2行目から4行目までのすべての行を削除しましょう:
sed 2,4d example.txt
AAAAAAAAAA
EEEEEEEEEE
特定の正規表現に一致するすべての行を削除することもできます。次の例では、少なくとも1つのC文字を含む行を削除します:
sed '/C/'d example.txt
AAAAAAAAAA
BBBBBBBBBB
DDDDDDDDDD
EEEEEEEEEE
既存のファイルに変更を保存するには、-iオプションを使用します。この方法で、sedコマンドは元のファイルを上書きします:
sed -i '/C/'d example.txt
または出力を新しいファイルにリダイレクトするだけです:
sed '/C/'d example.txt > example2.txt
追加の例:
空の行を削除する:
sed '/^$/d' example.txt
最後の行を削除する:
sed '$d' example.txt
最初の行を削除する:
sed 1d example.txt