Ubuntu ลบไฟล์ทั้งหมดที่ขึ้นต้นด้วย '._'


2

ฉันต้องการลบไฟล์ทั้งหมดที่ขึ้นต้นด้วย._เมื่อฉันรันคำสั่งนี้:

me@me:/var/www/my/project$ sudo rm -Rvi ._*
rm: cannot remove `._*': No such file or directory

ฉันค่อนข้างแน่ใจว่า.เป็นสาเหตุของปัญหาทำให้ฉันคิดว่าฉันหมายถึงไดเรกทอรีปัจจุบันไวยากรณ์ที่ถูกต้องเพื่อให้บรรลุนี้คืออะไร

ฉันรู้ว่าไฟล์เหล่านี้มีต้นกำเนิดมาจาก Mac ของฉันฉันต้องการวิธีที่จะทำให้พวกเขา :-)

ขอบคุณมาก

เบน


อืมดูเหมือนว่าฉันจะไม่สามารถทำซ้ำปัญหาของคุณได้ ( touch ._test, rm ._*ทำงานได้ดี.) อาจจะมีคุณลักษณะอื่น ๆ บางอย่างที่ทำให้แตกต่างกันอย่างไร ไฟล์ที่ขึ้นต้นด้วยจุดไม่ใช่อะไรพิเศษเพราะเป็นแบบแผนของ 'ซ่อน' เช่นไฟล์กำหนดค่า (~ / .profile)
Jawa

คำตอบ:


3

คุณสามารถลองสิ่งนี้:

find -name ._\* |xargs sudo rm -Rvi

หรือถ้าเปลือกของคุณไม่ชอบ:

find |grep -e '^\._' | xargs sudo rm -Rvi

หาโดยไม่ขัดแย้งใด ๆ เพียงแค่ควรรายการทุกอย่าง


ขอบคุณ! ตัวเลือกแรกทำงานได้ดีเมื่อฉันทำสิ่งนี้: find -name ._\* |xargs sudo rm -v<- ทิ้งไว้เพียงแค่ verbose :-)
เบ็นเอเวอราร์ด

1
สิ่งนี้จะไม่ทำงานหากชื่อไฟล์มีช่องว่างหรือขึ้นบรรทัดใหม่ เพื่อสนับสนุนสิ่งเหล่านั้นให้ใช้ find -print0 และ xargs -0 การลบไฟล์. _ * ทั้งหมดทำให้ไดเรคทอรี SVN ทั้งหมดยุ่งเหยิง เขาใช้find . -type f -name "._*" -perm +w -deleteเพราะไฟล์. _ * ใน SVN ไม่สามารถเขียนได้
Sjoerd

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