如何删除没有特定扩展名的文件?

R. *_*red 2 linux shell

如何在当前工作目录中递归删除所有不带.txt.exe扩展名的文件?我需要一线。

我试过了:

find . ! -name "*.txt" "*.exe" -exec rm -r {} \
find -type f -regextype posix-extended -iregex '.*\.(txt|exe)$'
Run Code Online (Sandbox Code Playgroud)

sur*_*mar 5

尝试这个。

find . -type f ! -name "*.exe" ! -name "*.txt" -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)

上面的命令将递归删除当前目录和子目录中除.exe和.txt扩展名文件之外的所有文件。