コピペコードで快適生活

明日使えるソースを自分のために

シェルでカレントディレクトリ配下のテキストファイルの中身を一斉置換

よく忘れるのでメモ。

# カレントディレクトリ以下 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}