
[英]What is the best and the fastest way to delete large directory containing thousands of files (in ubuntu)
[英]What the best way to delete files by extension?
我正在寻找按扩展名从目录删除文件的最佳方法。 我计划按日期进行。 但是现在,我正在测试它的工作方式。 这个:
dir=/tmp/backup/
mask="jpeg jpg png gif bmp pdf"
for i in $mask; do
find $dir -name "*.$i" -type f -delete
done
或这个 ?
find $dir \( -name "*.jpeg" -o -name "*.jpg" -o -name "*.png" \
-o -name "*.gif" -o -name "*.bmp" -o -name "*.pdf" \) -type f -delete
我想用最少的机器和操作系统资源来做。 也许您知道其他方法。 因为我将删除一岁的文件。 它可以称为滞后。 谢谢。
您可以使用:
# to ensure it doesn't return *.jpg if there is no .jpg file
shopt -s nullglob
# list all matching extension filea
echo *.{jpeg,jpg,png,gif,bmp,pdf}
当您对输出感到满意时,只需用rm
代替echo
但是,如果要使用变量,则将所有扩展名存储在变量中,然后将其与find
命令一起使用:
mask="jpeg jpg png gif bmp pdf"
find . -type f -regextype posix-extended -regex ".*\.("${mask// /|}")"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.