シェルでカレントディレクトリ配下のテキストファイルの中身を一斉置換
よく忘れるのでメモ。
# カレントディレクトリ以下 hoge を含むファイルを確認 grep -rn "hoge/" ./. # hoge を fuga に一斉置換 grep -rl "hoge" ./. | xargs sed -i -e "s/hoge/fuga/g" ${1} # コピペ用 FROM=hoge TO=fuga grep -rl "${FROM}" ./. | xargs gsed -i -e "s/${FROM}/${TO}/g" ${1} # 特定のディレクトリを除外 grep -rl --exclude-dir=.git "${FROM}" ./. | xargs gsed -i -e "s/${FROM}/${TO}/g" ${1}