これは、文字列のグローバル検索と置換を行う zsh 関数に変換したいコマンドです。
find ./ -type f -exec sed -i 's/string1/string2/' {} \;
私は試した:
gr () {
find ./ -type f -exec sed -i 's/$1/$2/' {} \;
}
しかし、うまくいかないようです。
これは、文字列のグローバル検索と置換を行う zsh 関数に変換したいコマンドです。
find ./ -type f -exec sed -i 's/string1/string2/' {} \;
私は試した:
gr () {
find ./ -type f -exec sed -i 's/$1/$2/' {} \;
}
しかし、うまくいかないようです。
明らかな誤りは、いつものように間違った引用です。'
シェルが変数を展開するのを防ぎます。これはあなたが望むものです。"
代わりに使用してください。おそらく、sed のグローバル フラグも必要です。
gr () {
find ./ -type f -exec sed -i "s/$1/$2/g" {} \;
}
ただし、これはあまりスタイリッシュではありませんzsh
...以下は短く、IMHOの方が読みやすいです。
gr () {
sed -i "s/$1/$2/g" **/*(.)
}
**
再帰的に検索しますが、シンボリックリンクをたどりません (必要***
に応じて使用してください)(.)
結果をプレーンファイルに制限する