Tengo archivos en subdirectorios del directorio actual que pueden tener o no nuevas líneas al final; ¿Cómo puedo encontrar archivos que no tienen una nueva línea al final?
He intentado esto:
find . -name '*.styl' | while read file; do
awk 'END{print}' $file | grep -E '^$' > /dev/null || echo $file;
done
Pero no funciona. awk 'END{print}' $file
imprime la línea antes de una nueva línea vacía, igual que tail -n 1 $file
.
awk 'END{print}' $file
: esto ignora totalmente el contenido de $ file, y después de terminar de analizar todos los archivos contenidos en "$ file" agrega una nueva línea. Como es lo único que imprime el comando awk, podría reemplazarse por: printf '\n'
(sin ningún mentino de $ file) y hacer lo mismo. Creo que esto NO es lo que buscabas (es decir, ¿imprimir la última línea del archivo?)
c
y también FreeBSD, pero no me había dado cuenta de que está documentado como dependiente de la implementación: gnu.org/software/gawk/manual/… . Por lo que no suceda, pero no siempre.