모든 PHP 파일에서 50자 이상의 단어를 찾습니다.

모든 PHP 파일에서 50자 이상의 단어를 찾습니다.

나는 내 웹 서버에서 50자가 넘는 단어(공백을 제외한 모든 문자 시퀀스)가 있는 모든 PHP 파일을 찾기 위해 grep과 함께 find를 사용하려고 합니다.

나는 이 기반을 가지고 있습니다:

find . -name '*.php' -exec fgrep -q '.{50}' {} \; -print

그러나 예상대로 작동하지 않습니다.

감사해요

답변1

.공백과 탭을 포함하여 개행 문자를 제외한 모든 것을 나타냅니다. 이것이 바로 정규식이 50자보다 긴 줄과 일치하는 이유입니다.

50자 이상의 단어를 일치시키려면 다음과 같이 사용할 수 있습니다.

[^\s]{50}

[^\s]공백 문자를 제외한 모든 항목과 일치합니다. {50}이는 50개(반드시 동일하지는 않음) 문자의 시퀀스가 ​​일치함을 의미합니다.

관련 정보