2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Linuxでディレクトリ配下のファイル内容を一括置換する最も簡単な方法

Last updated at Posted at 2020-07-06

しばしば忘れるので、自身の備忘録として…

ファイルの拡張子を指定しない場合

  • 対象の確認
$ find ./ -type f | xargs grep "foo"
  • 置換実行
$ find ./ -type f | xargs sed -i -e "s/foo/bar/g"
  • 置換後の確認
$ find ./ -type f | xargs grep "bar"

ファイルの拡張子を指定する場合

  • 対象の確認
$ find ./ -type f -name "*.php" | xargs grep "foo"
  • 置換実行
$ find ./ -type f -name "*.php" | xargs sed -i -e "s/foo/bar/g"
  • 置換後の確認
$ find ./ -type f -name "*.php" | xargs grep "bar"

sed のオプションについて

-i オプション

ファイルを直接上書きする。

これを付けないと、ディストリビューションによりバックアップファイルが自動作成されることがあります。
バックアップを明示的に指定する場合は -i.bak のように指定。

-e オプション

–expression=スクリプトコマンド のこと。
基本的には、 "s/foo/bar/g" や "s/foo/d" になります。

Fin ❤︎

2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?