现在想要删除文件夹内的压缩包 其他文件不处理
起因是我压缩的时候使用错的命令 本来是想分包压缩 2g 的 在 2048 之后没有加 m 导致压缩 n 个 2048 大小的压缩包
错误命令 tar cjvf - xx/ |split -b 2048 - xx.tar.bz2.
现在用 ls -1 -f 还没排完就已经是 xx.zzzagbhm 的数量了
使用 rm 命令应该是一个个文件的执行 硬件已经没办法负荷了 会导致卡死
rsync --delete 看网上好像是针对整一个文件夹
上述命令使用了 也提示参数列表过长 比如 rm -rf xx.bar.bz2.zzz*
1
wxf666 2022-09-07 14:53:39 +08:00 1
find . -name 'xx.tar.bz2.*' -delete ?
|
2
AoEiuV020CN 2022-09-07 14:55:15 +08:00 1
find -name '*.tar.bz' -exec rm -f {} \;
不是最高性能,但方便能用, |
3
goodryb 2022-09-07 14:56:20 +08:00 1
如果磁盘空间够的话,在上级目录下建个临时文件夹,先把这些无用的压缩包 mv 到临时文件夹下面,继续你正常工作
完了再慢慢删除这些无用数据,可以先把文件列表 ls 出来,循环产出,虽然时间会很长,但不影响机器性能 |
4
hideonwhere OP |
5
AoEiuV020CN 2022-09-07 15:00:11 +08:00
@hideonwhere #4 别用管道之类的把 find 输出导向其他命令就好,
-delete 或者-exec 都是一个一个文件执行,参数不会太长, |
6
AoEiuV020CN 2022-09-07 15:02:31 +08:00
@goodryb #3 这死结了,能 mv 就能 rm ,任何文件 rm 都不会比 mv 困难,
|
7
eason1874 2022-09-07 15:56:51 +08:00 1
|
8
hideonwhere OP @eason1874 这个命令尝试过 会出现 “参数列表过长”的错误提示
|
9
hxy100 2022-09-10 00:41:08 +08:00 1
任何提示参数列表过长的命令都可以使用 xargs 缓解,xargs -n xxx 分批次传递参数,想传递几个传递几个~
|
10
hideonwhere OP @hxy100 后面用工具写了多条分批次执行了 [哭]
|