Есть ли способ передать число, хранящееся в переменной, в awk для этой команды? - PullRequest
0 голосов
/ 26 августа 2018

Я пытаюсь создать сценарий, который требует дней, чтобы вернуться к просмотру / анализу журнала в качестве аргумента:

script.sh 5

это будет показывать подробный трафик за последние 5 дней на счете.Он основан на этой команде:

zcat $path/* |awk -vDate=`date -d'now-5 days' +[%d/%b/%Y:%H:%M:%S` ' { if ($4 > Date) print $1, $12, $15, $16, $17, $23, $24}' | sort | uniq -c | sort -fr | head

Как сохранить число дней в качестве переменной и передать его в awk?

days=$1
zcat $path/* |awk -vDate=`date -d'now-$days days' +[%d/%b/%Y:%H:%M:%S` ' { if ($4 > Date) print $1, $12, $15, $16, $17, $23, $24}' | sort | uniq -c | sort -fr | head

1 Ответ

0 голосов
/ 26 августа 2018

Вы не передаете переменную awk, вы передаете ее date

awk -v date="$(date -d "now-$days days"  +"[%d/%b/%Y:%H:%M:%S")" 'script'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...