スポンサーリンク
find
コマンドとsed
コマンドを組み合わせることで、ディレクトリ配下の文字列を一括置換することができます。
keyword
を置換前文字列、after_keyword
を置換後文字列として説明をします。
それぞれ置換前後の文字列を置き換えてご参照ください。
sedコマンドとは
入力されたテキストデータを行単位で読み取り、テキスト変換などの編集して、行単位で出力を行います。
主に文字列の置換や抽出に用いられて、正規表現にも対応しています。
sedはStream EDitor
の略称です。
以下コマンドを実行すると先頭のkeyword
をafter_keyword
へ置換して出力します。
sedの最後にg
を指定するとすべてのkeyword
をafter_keyword
へ置換して出力します。
grepで置換前確認
置換前の文字列を確認します。
特定のディレクトリを除外する場合は--exclude-dir
を使用してください。
sedで一括置換
カレントディレクトリ配下のkeyword
をafter_keyword
へ一括置換します。
ファイルはsedのi
オプションにより置換後で保存されるので、コマンド実行時はご注意ください。
keywork
:置換前文字列after_keywork
:置換後文字列
カレントディレクトリ配下のファイルを一括置換する場合は、以下コマンドを実行します。
特定のディレクトリを除外する場合は、grepコマンドと組み合わせます。
上記の場合はnode_modules
と.git
を除外しています。
grepで置換後確認
置換されたことを確認します。
特定のディレクトリを除外する場合は--exclude-dir
を使用してください。
まとめ
sed
コマンドとfind
コマンドを組合せることで、複数ファイルの文字列置換ができる。
grepコマンドによる再帰検索の解説はこちらのリンク を参照してください。
以上で本記事の解説を終わります。
よいITライフを!