2012-03-03 101 views

回答

2
ls | grep -v '\.lnx$' | xargs rm 
+1

可能無法正常工作 – rbedger 2015-04-02 16:22:32

13
find . -depth 1 -type f -not -name '*.lnx' -delete 

發現在當前目錄(-depth 1)不名(-not -name '*.lnx')匹配所有文件(-type f),並刪除它們(-delete

像往常一樣,測試這個第一。在沒有-delete的情況下運行它以查看所有匹配的文件。

+0

'型F'不是必需的。他沒有說他想排除目錄。 – Manish 2012-03-03 19:42:30

+4

「所以要刪除所有文件」 – nachito 2012-03-03 19:59:10

14

您可以使用this

$ rm !(*.lnx) 

!(pattern-list) 
    Matches anything except one of the given patterns. 
    A pattern-list is a list of one or more patterns separated by a ‘|’. 
+4

好,但請注意,您需要啓用「extglob」(使用'shop -s extglob')才能使用此功能。 – Kevin 2012-03-03 19:08:30

+0

在Ubuntu中:'extglob'默認爲ON。 – kev 2012-03-03 19:42:39

+0

我有沒有想過他說他在Ubuntu上?我不認爲它在任何地方都有說明或暗示。無論如何,對於每個來這個線索尋求答案的人來說,都不一定非常有用,所以值得注意。 – Kevin 2012-03-03 19:51:29

相關問題