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로 바꾸고 두 개의 매개 변수를 갖도록 $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

관련 정보