Jak najít neposlušné PHP soubory

Snad každému programátorovi, který kdy dělal v PHP, se stalo, že program nemohl nastavit HTTP hlavičky, protože už na výstup bylo něco zapsáno. V drtivé většině případů je tam zapsán nějaký bílý znak, který se omylem zatoulá za konečnou sekvencí ?>. Snadná pomoc, vůbec neuvádějte závěrečnou sekvenci, protože je zcela nepovinná. Pokud se jedná o soubory, které obsahují čistý kód (při použití Smarty nebo jiného šablonovacího systému to jsou všechny soubory typu PHP), tak na poslední řádek dávejte něco jiného.
Následující příkaz vyhledá všechny PHP soubory, které nemají na posledním řádku // EOF nebo //EOF:

find . -type f -name '*php' | while read f ;do tail -1 "$f" | grep -vsqE '// ?EOF' && echo "$f" ;done

A následující příkaz vyhledá PHP soubory, které začínají jinak než

find . -type f -name '*php' | xargs grep -n ' | grep ':1:' | grep -v ' | sed 's/:1:

Tento zápisek vznikl převodem z mého starého blogu. Ne všechny texty byly takto převedeny, kompletní archiv najdete v HTML archivu.
22 April 2010 | oldblog
twitter.com linkedin.com
google.com/+ facebook.com
flickr.com youtube.com