マス ファイラー デバイス上のファイルを検索するスクリプトがあります。毎日、約 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
を取り除くために使用 する必要がありますか、./
それともより良い方法がありますか?