删除具有多个扩展名的目录中的所有文件

inf*_*nge 1 command-line bash scripts

我有属于两个扩展类别(.out 和 .error)的文件。是否有一个命令可以一次删除它们?

我试过了,rm -f *.out || *.error但没有用。谢谢

(我也看到了链接的帖子,但我仍然不确定如何处理多个扩展名)

编辑:非递归案例

mur*_*uru 5

||不需要有1rm将作用于所有操作数,那么:

rm *.error *.out
Run Code Online (Sandbox Code Playgroud)

或者,使用 bash 的大括号扩展(如果你有一个很长的列表很有用):

rm *.{error,out}
Run Code Online (Sandbox Code Playgroud)

1不仅||不需要,还会改变命令结构。||是 bash 的 OR命令。因此,如果您有文件a.error, b.error, 和a.out, b,out, bash 将执行:

rm a.out b.out
Run Code Online (Sandbox Code Playgroud)

如果失败,则执行a.errorb.error作为参数。它不会通过a.errorb.error第二次运行rm.