使用 Bash 快速删除特定扩展

使用 Bash 快速删除特定扩展

我看过其他关于删除目录中某个扩展的线程。但是,当我尝试时,它似乎有效,但需要很长时间才能浏览目录,并且在系统目录中显示“权限被拒绝”。我想要的是一个可以浏览整个计算机或部分计算机并删除某个扩展的 bash 脚本。如果 python 速度更快,那就好了。

答案1

我想你只需要使用 find 即可。

find / -name "*.myextension" -exec rm {} \;

当然,从 / 搜索整个硬盘(或分区......)是一件漫长的事情,你会得到没有权限只要您不是以 root 身份运行此程序,就会出现错误。

答案2

使用 xargs,假设您有 GNU find 和 xargs:

find / -name \*.myextension -print0 | xargs -0 rm

此方法使用空字符\0作为文件名之间的分隔符:由于换行符是文件名中的合法字符,因此逐行读取 find 的输出并非 100% 安全。

相关内容