一尘不染

名称不包含某些单词时删除文件

linux

我正在使用Linux,并打算使用Shell删除一些文件。

我的文件夹中有一些文件,一些文件名包含单词“ good”,其他文件名则没有。例如:

ssgood.wmv
ssbad.wmv
goodboy.wmv
cuteboy.wmv

我要删除名称中不包含“ good”的文件,因此其余文件为:

ssgood.wmv
goodboy.wmv

如何rm在shell 中使用它?我尝试使用

rm -f *[!good].*

但这不起作用。

非常感谢!


阅读 372

收藏
2020-06-07

共1个答案

一尘不染

此命令应执行所需的操作:

ls -1 | grep -v 'good' | xargs rm -f

它可能比其他命令运行得更快,因为它不涉及使用正则表达式(这很慢,对于这种简单的操作而言是不必要的)。

2020-06-07