linux - 如何递归删除具有不同扩展名的多个文件?

标签 linux bash find delete-file

我正在尝试编写一个命令,以递归方式从当前目录及其所有相关子目录中删除多个具有不同扩展名(*.extension1、*.extension2 等)的文件。

到目前为止,我从 another post 得到了这个命令但我不知道如何在同一命令行中使它适应多个文件:

find . -name "*.extension1" -type f -delete

是不是像下面这么简单?

find . -name "*.extension1";"*.extension2" -type f -delete

正如边注,这些都是我不需要的输出文件,但并非所有文件都一定总是输出,因此某些扩展名可能不存在。这就像一般的清理命令。

最佳答案

find . \( -name "*.extension1" -o -name "*.extension2" \) -type f -delete

查找文件 (-name ".py"-o -name ".html") -exec 文件 {}\;

find . -regextype posix-egrep -regex ".*\.(extension1|extension2)$" -type f -delete

关于linux - 如何递归删除具有不同扩展名的多个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24058921/

相关文章:

linux - 如何访问子进程的 STDIN?

bash - 永久更改 CDPATH

python - 检查字符串中的(仅整个)单词

linux - 基于两个条件的嵌套查找

linux - 匹配字符串bash后获取数字

php - 是否可以编写仅针对 Ubuntu Web Server 的代码?

regex - 在 Linux shell 中,如何使用正则表达式来过滤其他命令的输出。

linux - xargs 打印 wc -l 的输出

java - java中如何将字符串的多个子字符串替换为多个值?

c++ - 将以 execv 启动的进程重定向到/dev/null