Suchen Sie in allen PHP-Dateien nach Wörtern mit mehr als 50 Zeichen

Suchen Sie in allen PHP-Dateien nach Wörtern mit mehr als 50 Zeichen

Ich versuche, „find“ in Kombination mit „grep“ zu verwenden, um alle PHP-Dateien auf meinem Webserver zu finden, die ein Wort (jede beliebige Zeichenfolge außer Leerzeichen) mit mehr als 50 Zeichen enthalten.

Ich habe diese Basis:

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

Funktioniert aber nicht wie erwartet.

Danke

Antwort1

.steht für alles außer Zeilenumbruchzeichen, einschließlich Leerzeichen und Tabulatoren. Deshalb wird Ihr regulärer Ausdruck Zeilen mit mehr als 50 Zeichen abgleichen.

Um Wörter abzugleichen, die mindestens 50 Zeichen lang sind, können Sie etwas wie das Folgende verwenden:

[^\s]{50}

[^\s]stimmt mit allem überein, außer mit Leerzeichen. {50}bedeutet, dass eine Folge von 50 solchen (nicht notwendigerweise identischen) Zeichen übereinstimmt.

verwandte Informationen