我使用 Linux。前段时间我编写了一个截图程序,现在我有 9 GB 的截图,60000 张 JPEG,其中大多数看起来都很相似,还有 300 MB 的剩余磁盘空间。
在空间有限的情况下,有哪些好方法可以在后台开始批量压缩它们(或全部)?
一次性压缩整个文件夹的问题在于我没有足够的磁盘空间。看来这个过程需要分成几个部分。
因此也许是这样的:
- 获取所有文件的列表
- 将一部分文件(例如,20 个)添加到压缩档案中。
- 完成并成功保存后,删除文件块
- 处理下一个块。
答案1
如果要压缩的文件位于目录中<directory>
,并且要创建的存档是<archive>
,您可以:
find <directory> -type f -exec zip -g <archive> {} \; -exec rm {} \;
或者使用 7za:
find <directory> -type f -exec 7za a <archive> {} \; -exec rm {} \;
答案2
我自己找到了答案,我用一点 Python 语言做了以下事情:http://pastebin.com/w6mSmFTW