2013-01-06 41 views
7

Làm cách nào để xóa tất cả các tệp sao lưu, tức là các tệp kết thúc bằng ~, đệ quy trong một thư mục cụ thể trong Ubuntu?Xóa tất cả các tệp sao lưu trong Linux bằng cách sử dụng tập lệnh Shell đệ quy

Một tập lệnh bằng bất kỳ ngôn ngữ lập trình nào cũng sẽ thực hiện được.

+1

[Câu trả lời hiện tại] (http://stackoverflow.com/questions/2016844/bash-recursively-remove-files) – atomman

Trả lời

18

Thứ nhất, bạn có thể sử dụng một find lệnh đơn giản:

find . -type f -name '*~' -delete 
0

Một cách:

find folder -name '*~' -print0 | xargs -0 rm -f 

Về cơ bản, nhìn vào "người đàn ông tìm thấy"

0

Trước hết, những gì bạn làm có nghĩa là đệ quy? Recursion là một cách thuận tiện để thực hiện các thuật toán mái vòm, nhưng có xu hướng được sử dụng quá mức - nhưng một số người cũng áp dụng thuật ngữ để tìm kiếm cây thư mục (có thể được thực hiện bằng các phương tiện khác đệ quy). Nếu bạn chỉ muốn xóa tất cả các tệp phù hợp với một ảnh toàn cục cụ thể trong cây thư mục thì ....

find /base/directory/ -type f -iname '*~' -exec rm -f {}\; 

(nhưng bạn có thể muốn thử nghiệm với find /base/directory/ -type f -iname '*~' -exec ls -l {}\; trước).

Các vấn đề liên quan