Linux
Webdesing
Grep – Typographische Fehler in HTML und PHP aufspüren
Aktualisiert: 26.10.2010
Typographische Fehler innerhalb von HMTL/PHP-Dokumenten aufspüren
Falsche Zeichen, doppelte Abstände oder andere Flüchtigkeitsfehler sind mit grafischen Oberflächen äusserst mühsam aufzuspüren, denn jede Datei muss von Hand einzeln geöffnet und durchsucht werden. Viel einfacher geht es mit dem äusserst mächtigen Linux-Befehl «grep», welche Dokumente Zeile für Zeile nach bestimmten Zeichen und Zeichenfolgen durchforstet. Korrigieren sollten Sie jedoch immer von Hand, denn ein automatisches Suchen und Ersetzen mit Hilfe einer Bash-Schlaufe ist äusserst gefährlich!
grep \' -R /var/www --include=*.html grep '[0-9]-[0-9]' -R /var/www --include=*.html grep '[a-zA-Z0-9]' -R /var/www --include=*.html | grep ' "' | grep '" ' | grep -v W3C
Erster Befehl durchsucht alle Dateien im Webordner /var/www rekursiv nach dem falschen Apostroph und listet die gefundenen Zeilen auf. Da der falsche Apostroph in HTML-Dateien unerwünscht, in PHP-Dateien aber für die Code-Begrenzung lebenswichtig ist, wird die Suche mit Hilfe des Zusatzes «--include=*.html» auf HTML-Dateien beschränkt. Mit Hilfe der von «grep» glücklicherweise unterstützten «regular expressions» ist es auch möglich, ganze Bereiche ausfindig zu machen. So sucht der zweite Aufruf nach Zahlen mit typografisch falschem Bindestrich dazwischen (z. B. S. 45-349 oder 2006-2007). Der dritte Aufruf schliesslich listet mit Hilfe dreier Pipes alle Zeilen auf, in denen Wörtern oder Zahlen zwischen typografisch falschen Zollzeichen mit vorausgehendem und anschliessendem Leerschlag stehen, jedoch nicht (Option -v) solche, in denen das Wort W3C (Doctype-Definitionen) vorkommt.
find /home/brutan/www/ -name '*.php' | while read file; do file --mime $file | grep 'iso'; done

