LoginSignup
5
2

More than 5 years have passed since last update.

sedでファイル内の行削除と対象行を事前確認

Posted at

sedコマンドでファイルの内容を機械的に編集できます。
ただ、指定内容が間違っている恐れもあるため、ファイルの編集が想定通りに行われるかきちんと確認しないと危険です。

事前確認(Dry run)

sed -e "/消したい内容/d" ファイル名 | diff ファイル名 -

削除対象となった行をdiff形式で取得できます。
sed -i オプションをつけない限り、ファイルは直接編集されないので大丈夫です。(後述)

参照

書き換え実行

sed -e "/消したい内容/d" ファイル名 -i

事前確認コマンドの | 以降を削除して -i に置き換えたのみ。

参照

  • sed -i オプションについて
    • sedでファイルを上書き保存
    • -i オプションを指定することで、対象ファイルが上書きされる
    • つけない場合、標準出力への出力のみとなる(それで事前確認を実現できてる)

あとがき

sed -ised -i.bak にすることで、.bak 拡張子をつけたバックアップを取得できます。
diff バックアップ 現ファイル, less 現ファイル で最終確認する手順とすることでより安全に作業出来るので、やっていきましょう。(自戒)

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2