Linux 如何使用命令行删除文件夹中除特定文件类型以外的所有文件

Linux 如何使用命令行删除文件夹中除特定文件类型以外的所有文件,linux,shell,command-line,command,Linux,Shell,Command Line,Command,我在特定文件夹中有很多文件 我想删除该文件夹中除*.html文件类型以外的所有文件 有没有办法在命令行中执行此操作?我正在使用Linux。我假设您参考的是Linux命令行,如果不是,请更新您的问题 find ./folder/to/look/in -not -iname '*.html' -exec rm {} \; 编辑 如果文件不太多,则可能需要执行一个rm命令。您可以使用+而不是 find ./folder/to/look/in -not -iname '*.html' -exec

我在特定文件夹中有很多文件

我想删除该文件夹中除*.html文件类型以外的所有文件


有没有办法在命令行中执行此操作?我正在使用Linux。

我假设您参考的是Linux命令行,如果不是,请更新您的问题

find ./folder/to/look/in -not -iname '*.html' -exec rm {} \; 

编辑

如果文件不太多,则可能需要执行一个
rm
命令。您可以使用
+
而不是

find ./folder/to/look/in -not -iname '*.html' -exec rm {} +

我喜欢您的解决方案,但不像我喜欢管道那样。尽管这不是一个昂贵的资源,但我发现启动一个额外的程序并创建一个管道(如果不需要的话)有点浪费。我实际上不知道-exec。你的答案比我的更正确,因为我的答案毫无意义。我刚刚在你的答案中添加了explainshell链接,我正在删除我的链接。请添加你的操作系统(windows、mac、linux等)。这个问题也更适合linux操作系统