วิธีการลบไฟล์. swp ที่ซ่อนทั้งหมดออกจากเทอร์มินัล


8

ฉันจะลบไฟล์. swp ทั้งหมดได้อย่างไร ฉันพยายามrm *.swpแต่ฉันได้rm: *.swp: No such file or directory

rwxr-xr-x  16 teacher  staff    544 Jan 17 13:19 .
drwxr-xr-x  19 teacher  staff    646 Jan 16 12:48 ..
-rw-r--r--   1 teacher  staff  20480 Jan 17 09:48 .6-1-period-2.txt.swp
-rw-r--r--   1 teacher  staff  16384 Jan 17 09:05 .6-2-period-6.txt.swp
-rw-r--r--@  1 teacher  staff   6148 Jan 15 16:16 .DS_Store
-rw-r--r--   1 teacher  staff  12288 Jan 16 19:46 .grade8.txt.swp
-rw-r--r--   1 teacher  staff  11070 Jan 17 09:48 6-1-period-2.txt

กรุณาเสมอรวมถึงระบบปฏิบัติการของคุณ การแก้ปัญหามักขึ้นอยู่กับระบบปฏิบัติการที่ใช้ คุณใช้ Unix, Linux, BSD, OSX หรือเปล่า เวอร์ชันไหน
terdon

คำตอบ:


8

สิ่งที่คุณต้องการจะทำคือ

rm .*swp

*ไม่ตรงกับไฟล์ที่เริ่มต้นด้วย.เว้นแต่คุณจะเปิด dotglob (สมมติว่าคุณกำลังใช้ทุบตี):

$ ls -la
-rw-r--r--   1 terdon terdon        0 Jan 17 05:50 .foo.swp
$ ls *swp  
ls: cannot access *swp: No such file or directory
$ shopt -s dotglob
$ ls *swp
.foo.swp

6

หากคุณพูดว่า: ไฟล์ถูกซ่อนอยู่ไฟล์จะเริ่มต้นด้วยจุด (.) ดังนั้นให้ลอง:

find . -type f -name ".*.swp" -exec rm -f {} \;

ด้วยวิธีนี้คุณจะมองหาไฟล์ที่ซ่อนอยู่ในไดเรกทอรีและไดเรกทอรีย่อยปัจจุบัน หากคุณต้องการลบไฟล์ที่ซ่อนอยู่ในไดเรกทอรีปัจจุบันก็ใช้rm -f .*.swpงานได้ง่าย


1
GLOBSTAR อยู่ไกลง่ายในทุบตี 4+, rm **/.*.swp(ที่มีshopt -s globstarอยู่ในแฟ้มแหล่งที่มาทุบตีหรือในกรณีเปลือกปัจจุบันของคุณ)
BroSlow

0

ลองใช้สิ่งนี้

find . -type f -name "*.swp" -exec rm -f {} \;

-name "FILE-TO-FIND" : File pattern.
-exec rm -rf {} \; : Delete all files matched by file pattern.
-type f : Only match files and do not include directory names.

-fคือแรงเพียงใช้มันถ้าคุณหมายถึงมัน
มัตเตโอ

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