Найти все файлы с пустым или WS на BOF или EOF - PullRequest
3 голосов
/ 22 декабря 2009

Всем известно, что PHP ненавидит пустые строки в начале или конце файла (до или после тегов PHP).

У меня есть сценарий awk, который будет изменять файлы. Я передаю все свои файлы через него, и все становится персиковым, больше никаких пробелов в начале или конце.

Я хотел бы сначала НАЙТИ файлы, чтобы создать быстрый отчет об исключениях.

Я пробовал что-то вроде этого:

grep -r -e :a -e '/^\n*$/{$d;N;};/\n$/ba'

Но это не так.

1 Ответ

13 голосов
/ 22 декабря 2009

Этот сценарий оболочки будет проходить через все ваши файлы и печатать, если он обнаружит пустую строку в начале или конце каждого файла:

for f in `find . -type f`; do 
  for t in head tail; do 
    $t -1 $f  |egrep '^[  ]*$' >/dev/null && echo "blank line at the $t of $f"; 
  done; 
done

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

пример вывода:

blank line at the head of ./b
blank line at the tail of ./c
blank line at the head of ./d
blank line at the tail of ./d
...