Saya memiliki file di subdirektori dari direktori saat ini yang mungkin atau mungkin tidak memiliki baris baru di akhir; bagaimana saya bisa menemukan file yang tidak memiliki baris baru di akhir?
Saya sudah mencoba ini:
find . -name '*.styl' | while read file; do
awk 'END{print}' $file | grep -E '^$' > /dev/null || echo $file;
done
tetapi tidak berhasil. awk 'END{print}' $file
mencetak baris sebelum baris baru yang kosong, sama dengan tail -n 1 $file
.
awk 'END{print}' $file
: ini benar-benar mengabaikan isi $ file, dan setelah menyelesaikan parsing semua file yang terkandung dalam "$ file" itu menambahkan baris baru. Karena ini adalah satu-satunya yang dicetak perintah awk, maka dapat diganti dengan: printf '\n'
(tanpa mentino $ file sama sekali) dan melakukan hal yang sama. Saya pikir ini BUKAN apa yang Anda tuju (yaitu: cetak baris terakhir file?)
c
dan begitu juga FreeBSD, tapi saya tidak melihat itu didokumentasikan sebagai tergantung implementasi: gnu.org/software/gawk/manual/… . Jadi itu memang terjadi tetapi tidak selalu.