これは、文字列のグローバル検索と置換を行う 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" **/*(.)
}
**再帰的に検索しますが、シンボリックリンクをたどりません (必要***に応じて使用してください)(.)結果をプレーンファイルに制限する