linux - 需要删除大量文件

标签 linux

我需要删除位于特定文件夹中的大量文件(wc 命令正在2392934 附近检索)。该文件夹包含 2015 年和 2016 年的文件。我只想删除 2015 年的文件,为此我创建了以下脚本:

echo 'going to given path'
cd /usr/local/nagios/var/spool/xidpe/
pwd
b=$(ls -lrt | grep '2015' | awk '{print $9}')
echo 'listen tail outcome'
echo 'going to del'
rm -rf $b
exit

但它返回此错误消息:

./test.sh: line 10: /bin/rm: Argument list too long

我也尝试过xargs:

b=$(ls -lrt | xargs '2016' | awk '{print $9}')

但它返回此错误消息:

xargs: 2016: No such file or directory

是否需要对我的脚本进行任何更改或通过任何其他方式删除这些文件(仅适用于 2015 年)?

最佳答案

如果年份出现在文件名中:

find/usr/local/nagios/var/spool/xidpe/-type f -name '*2015*' -delete

要删除一年前创建的文件:

查找/usr/local/nagios/var/spool/xidpe/-type f -ctime +365 -delete

关于linux - 需要删除大量文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39485691/

相关文章:

php - Laravel 5.1 服务器 - 找不到类

linux - 如何确定 BPF_PROG_TYPE_SK_SKB 判定程序中数据包的方向?

linux - 上传大文件会导致 NoHttpResponseException

python - 启动shell的多个进程

linux - 安装 rpm 后加载模块

linux - 在 Linux 中使用 bash 查找实时主机所需的脚本帮助

c - Linux:执行手动加载到内存的代码

c - Accept() 套接字调用 - 无效参数

linux - Linux 中 applescript 的替代品是什么?它们有何不同?

linux - 从终端在 linux 的所有 makefile 中搜索一个单词