จะลบไฟล์. _ ทั้งหมดได้อย่างไร?


20

ฉันเพิ่งเปลี่ยน macOS เริ่มต้น (El Capitan) ด้วย Ubuntu 16.10 (บน MacBook Pro 11.1 และสำรองเอกสารทั้งหมดของฉันไปยังไดรฟ์ภายนอก

เมื่อตอนที่ผมย้ายข้อมูลเอกสารทั้งหมดของฉันกลับมาจากไดรฟ์ผมจบลงด้วยการที่มีจำนวนมากของ._ไฟล์ (รวมทั้ง._DS_Store, ._.DS_Storeและสำเนาของเอกสารหลายที่เริ่มต้นด้วย._ตามด้วยชื่อเอกสารต้นฉบับ

ฉันต้องการกำจัดไฟล์เหล่านั้นทั้งหมด ฉันลอง Bleachbit แต่เห็นได้ชัดว่ามีเพียง._DS_Storeไฟล์เท่านั้นไม่ใช่ประเภทอื่น ฉันสนใจที่จะหาวิธีในการลบเอกสาร. _ เหล่านี้ซ้ำทั้งหมดของฉันอย่างปลอดภัย นอกจากนี้._ไฟล์เหล่านี้ยังกระจัดกระจายอยู่ในโฟลเดอร์และโฟลเดอร์ย่อยที่แตกต่างกันดังนั้นฉันจึงต้องการค้นหาทั่วทั้งระบบเพื่อตรวจพบและลบออกโดยไม่ต้องลบอะไรที่ฉันสนใจจริงๆ

ใครช่วยแนะนำวิธีที่ดีที่สุดในการทำเช่นนี้? ขอบคุณ


5
อย่างระมัดระวัง. การพิมพ์ผิดนี่เป็นวิธีที่พบได้บ่อยที่สุดในการลบฮาร์ดไดรฟ์ของคุณโดยไม่ตั้งใจ
ทำเครื่องหมาย

คำตอบ:


45

การใช้findจากพาเรนต์วนซ้ำ:

find . -type f -name '._*'

หลังจากตรวจสอบผนวก-deleteเพื่อลบไฟล์:

find . -type f -name '._*' -delete

ใช้bashจากไดเรกทอรีหลัก:

shopt -s globstar  ## Enables recursive glob match
for f in **/._*; do [[ -f $f ]] && echo "$f"; done

หลังจากตรวจสอบแล้วให้ทำ:

for f in **/._*; do [[ -f $f ]] && rm "$f"; done
shopt -u globstar

3
ขอบคุณมาก! มันทำงานได้อย่างสมบูรณ์ ฉันจะยอมรับคำตอบทันทีที่เว็บไซต์ช่วยให้ฉัน ...
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.