因此要删除所有以.lnx
结尾的文件,cmd将为rm *.lnx
,对吧?
如果我想删除所有不以[.lnx]结尾的文件,我应该使用什么命令?
有这样的事吗?
答案 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