Найти слово, которое содержит более 50 символов во всех файлах php

Найти слово, которое содержит более 50 символов во всех файлах php

Я пытаюсь использовать find в сочетании с grep, чтобы найти все php-файлы на моем веб-сервере, в которых есть слово (любая последовательность символов, кроме пробелов) длиной более 50 символов.

У меня есть такая база:

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

Но работает не так, как ожидалось.

Спасибо

решение1

.обозначает все, кроме символов новой строки, включая пробелы и табуляции. Вот почему ваше регулярное выражение будет соответствовать строкам длиннее 50 символов.

Чтобы найти слова длиной не менее 50 символов, можно использовать что-то вроде этого:

[^\s]{50}

[^\s]соответствует всему, кроме пробельных символов. {50}означает, что будет сопоставлена ​​последовательность из 50 таких (не обязательно идентичных) символов.

Связанный контент