У меня есть файлы в каталоге; они именуются YYYY_MM_DD:Групповые файлы и команда pipe to awk
-rw-r--r-- 1 root root 497186 Apr 21 13:17 2012_03_25
-rw-r--r-- 1 root root 490558 Apr 21 13:17 2012_03_26
-rw-r--r-- 1 root root 488797 Apr 21 13:17 2012_03_27
-rw-r--r-- 1 root root 316290 Apr 21 13:17 2012_03_28
-rw-r--r-- 1 root root 490081 Apr 21 13:17 2012_03_29
-rw-r--r-- 1 root root 486621 Apr 21 13:17 2012_03_30
-rw-r--r-- 1 root root 490904 Apr 21 13:17 2012_03_31
-rw-r--r-- 1 root root 491788 Apr 21 13:17 2012_04_01
-rw-r--r-- 1 root root 488630 Apr 21 13:17 2012_04_02
Первый столбец в файле является числом, и я использую следующую команду awk
взять среднее из этой первой колонки.
awk -F, '{ x += $1 } END { print x/NR }' MyFile
Используя ту же команду, я могу передать два файла в awk, чтобы получить общее среднее для обоих файлов в целом.
awk -F, '{ x += $1 } END { print x/NR }' File1 File2
То, что я хочу сделать это ...
Я хочу, чтобы получить все файлы в моем каталоге, и группировать их в месяц, а затем передать все файлы в течение месяца к команде AWK ,
Так, согласно тем же данным, есть 7 файлов в марте, я хочу, чтобы все 7 файлов, которые будут переданы моей awk
команды, как это:
awk -F, '{ x += $1 } END { print x/NR }' File1 File2 File3 File4 File5 File6 File7
Тогда также для набора в апреле.
Как вы собираетесь решить, какие месяцы должны быть обработаны? Будет ли это вызов команды чем-то вроде 'month_stats 2012-03 2012-04'? Или вам нужно будет сканировать все файлы в каталоге, чтобы узнать, какие месяцы представлены для их обработки? –