linux - 一次删除 100 个文件并统计文件总数

标签 linux bash

我写了一个 bash 脚本来一次从一个目录中删除 100 个文件,因为我得到了 args list too long 错误,但现在我想计算从目录中删除的文件总数目录

这是脚本

echo /example-dir/* | xargs -n 100 rm -rf

我想要的是将每个目录中删除的文件总数写入一个文件以及路径,例如 Deleted <count> files from <path>

如何使用我当前的设置实现此目的?

最佳答案

您可以通过启用 rm 的详细输出来简单地做到这一点,然后使用 wc -l 简单地计算输出行数

如果文件名中有空格或特殊字符,使用 echo 将文件列表传递给 xargs 将不起作用。

最好将 find-print0 一起使用,以使用 NULL 字符作为单个文件的分隔符:

find /example-dir -type f -print0  | xargs --null -n 100 rm -vrf | wc -l

关于linux - 一次删除 100 个文件并统计文件总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39423995/

相关文章:

linux - 如何测试 Linux 内核版本

php - PHP中的通配符复制文件

linux - 由 bash 脚本而非脚本本身启动的终止进程

linux - 在 Bash 中,如何将变量(数字)排版为 5digit?

c - 查找某个文件的所有硬链接(hard link)

Linux - 了解挂载命名空间和克隆 CLONE_NEWNS 标志

c++ - Linux 上的性能分析

linux - 生成内核镜像时,出现无法识别的命令行选项 ‘-mlongcalls' 错误

linux - 您可以在远程运行的 shell 脚本中提示用户输入吗?

python - 为什么我的 Docker 容器在启动后没有将控制权返回给终端?