무엇간결명령을 사용하여 텍스트 문자열이 포함되지 않은 모든 파일을 찾을 수 있습니까?
나는 성공하지 않고 이것을 시도했습니다 (-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
찾기가 작동하지만 grep
recursive( -r
) 옵션을 사용할 수도 있습니다.
grep -rL shared.php .