ฉันมีไฟล์ในไดเรกทอรีย่อยของไดเรกทอรีปัจจุบันที่อาจมีหรือไม่มีบรรทัดใหม่ในตอนท้าย ฉันจะหาไฟล์ที่ไม่มีการขึ้นบรรทัดใหม่ได้อย่างไรในตอนท้าย
ฉันเคยลองแล้ว:
find . -name '*.styl' | while read file; do
awk 'END{print}' $file | grep -E '^$' > /dev/null || echo $file;
done
แต่มันไม่ทำงาน พิมพ์เส้นก่อนที่จะสายใหม่ที่ว่างเปล่าเช่นเดียวกับawk 'END{print}' $file
tail -n 1 $file
awk 'END{print}' $file
: สิ่งนี้จะไม่สนใจเนื้อหาของไฟล์ $ ทั้งหมดและหลังจากเสร็จสิ้นการวิเคราะห์ไฟล์ทั้งหมดที่มีอยู่ใน "$ file" จะเป็นการเพิ่มบรรทัดใหม่ เนื่องจากเป็นสิ่งเดียวที่คำสั่ง awk พิมพ์จึงสามารถถูกแทนที่ด้วย: printf '\n'
(โดยไม่มี mentino ของ $ file เลย) และทำสิ่งเดียวกัน ฉันคิดว่านี่ไม่ใช่สิ่งที่คุณกำลังเล็ง (เช่น: พิมพ์บรรทัดสุดท้ายของไฟล์?)
c
และเพื่อไม่ FreeBSD แต่ฉันไม่ได้สังเกตเห็นว่ามันเป็นเอกสารการดำเนินการขึ้นอยู่กับ: gnu.org/software/gawk/manual/... ดังนั้นมันจะเกิดขึ้น แต่ไม่เสมอไป