特定のディレクトリ下のファイル内の文字列をまとめて置換して保存する

$ sh replace.sh

特定のディレクトリ下のファイル内の文字列をまとめて置換する必要があったので、シェルスクリプトで書いてみた。

$ for file in `find ./ -maxdepth 1 -type f`; do; sed -i '' -e 's/置換前/置換後/g' $file; done

改行部分を;で区切って一行のコマンドとして実行することもできる。

逆引用符(``)を使用すると、コマンドの標準出力への出力内容をコマンド行に含める事ができます。

$ echo `pwd`
/opt

`で括ってfindコマンドの出力結果を配列として渡してループしている。今までシェルスクリプトをちゃんと書いた経験が少なかったけれど、色々書いてみると面白そうだと思った。

参考記事