Find all files with empty or WS on BOF or EOF

Everyone knows that PHP hates empty lines at the beginning or end of a file (before or after PHP tags).

I have a awkscript that will modify files. I transfer all my files through it, and all peach, no more leading or ending empty lines.

I want to find the files first to create a quick exception report.

I tried something like this:

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

But this is wrong.

+3
source share
1 answer

This shell script will go through all your files and print if an empty line was found at the beginning or end of each file:

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

I broke the lines for readability, but you can run it as a single liner.

:

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
+13

Source: https://habr.com/ru/post/1726301/


All Articles