我有一个在海量文件管理器设备上查找文件的脚本。每天,它搜索大约 250,000 个文件并创建一个简单的报告,计算我们收到的文件数量,按发件人 ( $1
) 和日期 ( $11
) 细分。
为了提高效率,我‑exec
在 find() 表达式中使用加号来将文件名分组。
find . -exec ls '{}' +| awk -F~ '{print $1"\t"$11}'|sort|uniq -c
它工作得很快,但会像这样重复结果
9632 ./Reynosa 20120607
9632 Reynosa 20120607
20328 ./Reynosa 20120608
20328 Reynosa 20120608
15354 ./Reynosa 20120609
15354 Reynosa 20120609
我究竟做错了什么?我应该使用 basename
剥离./
还是有更好的方法?