2012-03-03 105 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

相关问题