バックアップを取ってファイルを上書き(sedによる処理)


ファイルにsedで処理を施して上書きしたい際に,同時にバックアップを取りたければ,

sed -i.bak -e {sedによる処理} {ファイル名}

とすれば良い.
また,ファイルは複数指定可能.

例 : カレントディレクトリ配下のtest1.txtとtest2.txtの2行目のアンダースコアを削除したい

実行前のディレクトリ構成
.
├─ test1.txt
└─ test2.txt

実行コード
sed -i.bak -e '2s/_//g' test1.txt test2.txt

実行結果
.
├── test1.txt
├── test1.txt.bak
├── test2.txt
└── test2.txt.bak

.bakファイルの中身は書き換える前のものが入っている.