Ho dei file nelle sottodirectory della directory corrente che possono avere o meno nuove righe alla fine; come posso trovare file che non hanno una nuova riga alla fine?
Ho provato questo:
find . -name '*.styl' | while read file; do
awk 'END{print}' $file | grep -E '^$' > /dev/null || echo $file;
done
ma non funziona. awk 'END{print}' $file
stampa la riga prima di una nuova riga vuota, uguale a tail -n 1 $file
.
awk 'END{print}' $file
: questo ignora totalmente il contenuto di $ file e dopo aver finito di analizzare tutti i file contenuti in "$ file" aggiunge una nuova riga. Poiché è l'unica cosa che stampa il comando awk, potrebbe essere sostituito con: printf '\n'
(senza alcun mentino di $ file) e fare la stessa cosa. Penso che questo NON sia quello a cui stavi puntando (es .: stampare l'ultima riga del file?)
c
e così fa FreeBSD, ma non avevo notato che è documentato come dipendente dall'implementazione : gnu.org/software/gawk/manual/… . Quindi non accada, ma non sempre.