ファイルの文字列を一括置換する

ファイルの文字列を一括で置換するにはfindコマンドとsedコマンドを組み合わせればいいのですが、すぐ忘れてしまうのでメモ

置換したい

$ find ./ -type f | xargs sed -i.bak 's/before/after/g'

全てのbeforeafterに置換される

もし置換する文字列に/(スラッシュ)を含む場合は、区切り文字を他の文字に変えればいい

$ find ./ -type f | xargs sed -i.bak 's@/before/@after@g'

○○が含まれる行を削除したい

$ find ./ -type f | xargs sed -i.bak '/abc/d'

abcが含まれる行が削除される