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}' $fileimprime 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?)
cy 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.