1. ホーム
  2. スクリプト・コラム
  3. リナックスシェル

シェルでsedコマンドを使用して特定の行を削除する方法

2022-02-08 23:18:12

sedコマンドは、特定の行を素早く削除できる強力なシェルコマンドです。awkコマンドを使えば、バッチファイルを簡単に操作できます。以下でチェックしてみてください

sedコマンドでよく使われる2つのオプション。

  • -i : ファイルを直接編集する(その場でファイルを編集する)。
  • -e [デフォルトオプション] : ファイルに変更を加えず、コマンドラインのみに出力する (実行するコマンドにスクリプトを追加する)

注意:sedコマンドでは、-iまたは-eオプションを使用することができます(以下の例は-iのみの場合です)。

sed コマンドは特定の行番号を削除する

N行目の削除

sed -i 'Nd' filename


N~M行を削除する

sed -i 'N,Md' filename # file's [N,M] lines are deleted

シェル変数で表される行番号の削除(for文などで使用されます)

sed -i "${var1},${var2}d" filename # Here the quotation marks must be double quotes

最後の行を削除する

sed -i '$d' filename

sed コマンドは特定の文字を含む行を削除する

xxx"を含む行を削除します。

sed -i '/xxx/d' filename


要約すると

これらのコマンドを使えば、ファイルを扱うのはとても簡単です。