У нас есть требование сообщать о количестве строк, записанных в 7-дневный цикл файлов журнала.Файлы журнала называются - [filename].log.1.gz
на сегодня, [filename].log.2.gz
на вчерашний день до [filename].log.7.gz
на 7-й день
Я надеялся создать скрипт, который бы выводил числа сразу, вместо того, чтобы запускатькоманда zcat [filename].log.1.gz | wc -l
против каждой строки.Я также надеялся получить осмысленное сообщение для каждого выведенного значения
Я могу написать сценарий bash, который будет выполнять каждую строку, поскольку имена файлов совпадают, но я надеялся на что-то более элегантное
Вместо этого
zcat position.log.3.gz | wc -l
zcat position.log.4.gz | wc -l
zcat position.log.5.gz | wc -l
zcat position.log.6.gz | wc -l
zcat position.log.7.gz | wc -l
Я надеялся на что-то более подобное
for i in {1..7}
c=$(zcat position.log.$i.gz | wc -l)
message=$"The count for "
date1=$(date --date='$i days ago')
result=$"$message$date1$c"
echo $result
done
Однако я не могу заставить это работать.
Есть идеи?