いままで sed でテキストを変更したら結果は別のファイルに書き出していたけど,-i オプションというのがあると知った.このオプションを付けると入力のファイルを直接変更してくれる: $ cat a.txt abc123 $ sed -i 's/123/XYZ/' a.txt $ cat a.txt abcXYZ man にはこうある: -i[SUFFIX], --in-place[=SUFFIX] edit files in place (makes backup if extension supplied) サフィックスを指定するとバックアップを作成した上で元のファイルを書き換える: $ cat a.txt abc123 $ sed --in-place=.old 's/123/XYZ/' a.txt $ cat a.txt a.txt.old abcXYZ abc123