grep 再帰が何かを返すかどうかを確認するには?

grep 再帰が何かを返すかどうかを確認するには?

grep recursive( ) が何かを返したことを確認し、grep -r次のことを試みました。

  v5='blabla'
  if grep -rq "$v5" "$1"; then

   echo "word found Ok : $5"

   else 

   echo "not found"

   fi

$1パラメータです。ジョブに投入する
と、grep -q "$v5" "name_Of_File"次のような結果が出力されます。word found Okしかし、私はすべてのディレクトリとサブディレクトリで検索したいと思います。

答え1

ディレクトリをgrep -rq "$v5" "$1"作成できます。$1コードは期待どおりに機能するはずです。大丈夫です。

編集する:

スクリプトを試してから$5/を$v5に変更し、2つのパラメータを持つように$1変更しました。$1$2

#!/bin/bash

if grep -rq "$1" "$2"; then
        echo "word found Ok : $1"
else
        echo "not found"
fi

スクリプトを別の名前で保存してrgrep.sh実行しますchmod +x rgrep.sh
テストするには、テストファイルを作成してスクリプトを実行します(ここに出力を含む)。

$ echo blablah > /tmp/blah
$ ./rgrep.sh "blabla" /tmp
word found Ok : blabla
$ ./rgrep.sh "blah" /tmp
word found Ok : blah
$ ./rgrep.sh "blapp" /tmp
not found

関連情報