文件数量;日期创建和文件大小

时间:2016-07-25 11:41:14

标签: python bash shell

迫切需要你的帮助 - 我有一个文件夹,其中包含许多不同日期创建的文件,并且具有不同的数量和不同的大小。 对于文件大小度量,我使用:

find . -name "*20160725*" -print -exec du -ks {} \; | cut -f1 | awk '{total=total+$1}END{print total/1024}'

表示文件数量

ls -l | grep -c "Jul 25" 

我的问题是如何将它们相加以制作一些将在这种视图中导出文件的脚本:

DATE    QUANTITY SIZE
05-jul  416 26,84
06-jul  1170    28,6
07-jul  490 27,53
08-jul  794 16,19
09-jul  112 13,47
10-jul  122 18,53
11-jul  698 34,04
12-jul  456 19,4

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

试试这个:

find . -name '*' -printf '%Td-%Tb %s\n' | awk  'NR==1 {print "DATE\tQUANTITY\tSIZE"}{a[$1]+=$2;b[$1]+=1;}END{for(i in a)print i"\t"b[i]"\t"a[i]/1024}' 

printf命令的find选项输出每个文件的日期和大小。

输出通过管道传输到awk,它将每个日期的大小相加,并将字节大小转换为千字节,就像在示例输出中一样。

<强>更新

使用mm/dd/yyyy格式按日期排序:

find . -maxdepth 1 -name '*' -printf '%TD %s\n' | awk  'NR==1 {print "DATE\tQUANTITY\tSIZE"}{a[$1]+=$2;b[$1]+=1;}END{for(i in a)print i"\t"b[i]"\t"a[i]/1024}' | sort -n -t"/" -k3 -k1 -k2