在一个目录中,我想选择具有给定总大小的最大文件并将它们移动到不同的目录。在列出要选择的文件时,我们需要按名称对它们进行排序。bash:用于选择总大小限制的最大文件的1个衬垫
作为一个例子,说清楚,让我们说总大小是500MB,每个文件大小小于500MB。
使用案例1:
- a.bz2 200MB
- b.bz2 100MB
- c.bz2 300MB
d.bz2 400MB
移动a.bz2和b.bz2(total = 300MB)到目录../selected(因为选择第三个文件会使总大小> 500MB)
用例2:
- a.bz2 200MB
- b.bz2 200MB
- c.bz2 100MB
d.bz2 400MB
移动。 bz2,b.bz2和c.bz2(总数= 500MB)到目录../selected
我知道如何添加每个文件的大小,但像在C程序中打破循环需要我编写脚本。 (|)相反,我用管道希望它在1个衬垫
他们是如何排序?文件的大小是否一直在增加?你是否想要适应最大数量的文件?这似乎有一半... – dawg