0
for file in .* *; do
if [[ -f "$file" && `grep -r "$pattern" "$file"` ]]; then
path=`pwd`/"$file"
echo "$path"
fi
done
for file in .* *; do
if [[ -f "$file" && `grep -r "$pattern" "$file"` ]]; then
path=`pwd`/"$file"
echo "$path"
fi
done
forループを避け、
grep -l "${pattern}" ${PWD}/.* ${PWD}/*
またはより良い
find ${PWD} -type f -exec grep -l "${pattern}" {} +
のようなものを使用します(ループのために)ディレクトリにはgrepを使用してファイルに文字列を検索するために働いています
findコマンドを使用します。特定のフォルダに
find /home/hduser -exec grep "$pattern" {} \; -print'
[OK]を検索するには、現在のフォルダに
を検索するには、あなたがエラーまたはなしの結果などを取得していますか?あなたの質問を提示する時間を取って、迅速な対応をしてください。 – SMA
には閉じた 'fi;'があり、 'done;'はその順番で終了しています。 –
また、文字列が複数回、つまり異なるファイルで発生した場合はどうなりますか? –