特定のディレクトリ内のファイル中の文字列をまとめて置換
まとめて置換する
特定のディレクトリの中にある全ファイルの中にある、特定の文字列を一気にまとめて置換する方法を自分用にメモ。grepの-rオプションにより子ディレクトリ内のファイルについても再帰的に適用される。
- ファイルを上書きする
grep '置換前の文字列' -rl '対象のディレクトリ' | xargs sed -i -e 's/置換前の文字列/置換後の文字列/g'
- バックアップファイル(.bak)を残す
grep '置換前の文字列' -rl '対象のディレクトリ' | xargs sed -i.bak -e 's/置換前の文字列/置換後の文字列/g'
- 置換する文字列にスラッシュ( / )が含まれる
- sedコマンドに用いる区切り文字にはスラッシュ( / )以外も使用できる
grep '置換前の文字列' -rl '対象のディレクトリ' | xargs sed -i -e 's#置換前の文字列#置換後の文字列#g'
Author And Source
この問題について(特定のディレクトリ内のファイル中の文字列をまとめて置換), 我々は、より多くの情報をここで見つけました https://qiita.com/allegro1209/items/1d31af2f5f33c3919161著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .