コマンドラインから複数のファイルの文字列を置換(mac)

複数のファイルをコマンドで一括置換をする方法。

[shell] $ grep -l ‘置換前文字列’ 対象のファイル | xargs sed -i ” ‘s/置換前文字列/置換後文字列/g'[/shell]

macではsedがBSD版のため、sedのiオプションに空文字を渡す必要がある。これはバックアップ用拡張子で、例えば[shell] sed -i ‘.bak'[/shell]とすると 対象ファイル.bak というバックアップファイルが作成される。iオプションにから文字を渡すことで、既存のファイルに上書きさせることができる。

参考

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください