ฉันกำลังวัดขนาดไฟล์ทั้งหมดของพวงซึ่งพา ธ ที่ฉันเก็บไว้ในเอกสารข้อความ files.txt ตัวอย่างเนื้อหาของ files.txt:
file1.txt
file2.txt
file3.txt
คำสั่ง shell นี้ให้ผลลัพธ์ที่ฉันต้องการ:
$ du -hc $(cat files.txt)
นอกเสียจากว่าฉันจะมีชื่อไฟล์ที่มีช่องว่างในนั้นเช่น: file 9.txt
จากนั้นdu -hc
พยายามแยกชื่อไฟล์ที่ช่องว่าง ไม่ว่าฉันจะใส่ใบเสนอราคาไว้ที่ไหนใน files.txt หรือในคำสั่งเชลล์ของฉัน ฉันควรทำอย่างไรดี
FYI, เอกสารรายการไฟล์ของฉันเป็นผลลัพธ์ของคำสั่งดังนี้:
find ~/Dropbox/ -type f -iname "*.BMP" >> bmpfound.txt
รายละเอียดระบบของฉัน: MacOS ใช้ oh-my-zsh ใน Terminal.app
du
ใช้เวลาหาเรื่องแล้วใช้ที่และเปลี่ยนการค้นหาของคุณเพื่อเพิ่ม--files0-from
-print0
xargs
พยายามแต่ตอนนี้อาจจะล้มเหลวด้วยชื่อไฟล์ที่มีcat files.txt|xargs -I{} du -hc "{}"
"
ปลอดภัยมากขึ้นอาจจะทำในวงwhile read line;do du -hc "$line";done <files.txt