나는 내 웹 서버에서 50자가 넘는 단어(공백을 제외한 모든 문자 시퀀스)가 있는 모든 PHP 파일을 찾기 위해 grep과 함께 find를 사용하려고 합니다.
나는 이 기반을 가지고 있습니다:
find . -name '*.php' -exec fgrep -q '.{50}' {} \; -print
그러나 예상대로 작동하지 않습니다.
감사해요
답변1
.
공백과 탭을 포함하여 개행 문자를 제외한 모든 것을 나타냅니다. 이것이 바로 정규식이 50자보다 긴 줄과 일치하는 이유입니다.
50자 이상의 단어를 일치시키려면 다음과 같이 사용할 수 있습니다.
[^\s]{50}
[^\s]
공백 문자를 제외한 모든 항목과 일치합니다. {50}
이는 50개(반드시 동일하지는 않음) 문자의 시퀀스가 일치함을 의미합니다.