我有一個腳本,用於查找批量filer設備上的文件。它每天搜索大約250,000個文件並創建一個簡單的報告,用於統計我們收到的多少文件,並按發件人($1
)和日期($11
)進行細分。查找結果重複
爲了提高效率,我在find()表達式中用‑exec
加上一個加號來把文件名分成組。
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
去除./
還是有更好的方法?
請出示單從管道的'find'部分輸出的例子。爲什麼'-print'不能執行你想要的而不是'-exec ls'? –