如何删除所有不以某些格式结尾的文件?

时间:2012-03-03 18:48:23

标签: linux shell

因此要删除所有以.lnx结尾的文件,cmd将为rm *.lnx,对吧?

如果我想删除所有不以[.lnx]结尾的文件,我应该使用什么命令?

有这样的事吗?

3 个答案:

答案 0 :(得分:16)

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

查找当前目录(-type f)中与文件名(-depth 1)不匹配的所有文件(-not -name '*.lnx'),并删除它们(-delete

一如既往,先测试一下。在没有-delete的情况下运行它以查看匹配的所有文件。

答案 1 :(得分:16)

您可以使用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 ‘|’.

答案 2 :(得分:3)

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