텍스트 문자열이 포함되지 않은 모든 파일을 찾는 방법은 무엇입니까?

텍스트 문자열이 포함되지 않은 모든 파일을 찾는 방법은 무엇입니까?

무엇간결명령을 사용하여 텍스트 문자열이 포함되지 않은 모든 파일을 찾을 수 있습니까?

나는 성공하지 않고 이것을 시도했습니다 (-v를 사용하여 grep의 매개 변수를 뒤집음).

find . -exec grep -v -l shared.php {} \;

어떤 사람들은 이것이 효과가 있다고 말합니다:

find . ! -exec grep -l shared.php {} \;

그러나 이것은 나에게 효과가 없는 것 같습니다.

이 페이지다음과 같은 예가 있습니다.

find ./logs -size +1c  > t._tmp
while read filename
do
     grep -q "Process Complete" $filename
     if [ $? -ne 0 ] ; then
             echo $filename
     fi
done < t._tmp
rm -f t_tmp

그러나 이는 번거롭고 전혀 간결하지 않습니다.

ps: 이것이 가능하다는 것을 알고 있지만 grep -L *실제로 알고 싶은 것은 grep과 함께 find 명령을 사용하여 파일을 제외하는 방법입니다.

pss: 또한 구문을 사용하여 grep이 하위 디렉터리를 포함하도록 하는 방법을 잘 모르겠지만 grep -L *여전히 사용 방법을 알고 싶습니다 find. :)

ベストアンサー1

-v -l(일치하지 않는 줄이 있는 파일)을 (일치하는 줄이 없는 파일)로 변경하면 -L찾기가 작동하지만 greprecursive( -r) 옵션을 사용할 수도 있습니다.

grep -rL shared.php .

おすすめ記事