入力した最初の引数が-r文字列と等しい場合は、操作を実行する単純なスクリプトを作成しようとしています。ただし、このファイルを実行しようとするたびにプログラムが中断され、Ctrl-Zを押して終了する必要があります。
if [ "$1" == "-r" ]; then
echo "check okay";
for f in $(find . -maxdepth 1 -type f \( -name "*.h" -o -name "*.rb" \)); do
if grep -q "$1" "$f"; then
sed -i -E "s/${1}/${2}/g" $f;
echo $f;
fi
done
exit 1
fi
私は過去6時間でこの問題に閉じ込められていましたが、構文的に正しいと思われるので、何が問題なのかわかりません。助けてください、
ありがとう
答え1
grep
GNU grep以外のバージョンではテストできませんでしたが、
grep -e -r
「マスカ」として機能します-r
。これは他のバージョンにも適用できます(と比較--
)。