2013-11-07 1 views
1

Я не в состоянии передать $daysSeconds в GAWK Мое выражение не правильно оценитьGAWK STRFTIME не распознает переданную переменную

#___________ 
days=20 
daysSeconds=$(expr $days \* 86400) 
DAY=`gawk 'BEGIN{print strftime("%d", systime() - $daysSeconds)}'` 
echo $DAY 
#____ 
+0

@swapna: Результат я ожидал 18, но он возвращает 07 для сегодняшней даты 07-11 -2013 – Tufail

ответ

0

Не уверен, что вы пытаетесь сделать. %d The day of the month as a decimal number (01–31).

Вы не должны смешивать круглые скобки $() и задние тики. Используйте круглые скобки.
Вы не должны использовать переменную непосредственно в awk.
Казалось бы, проблема с вами начать блок сделать так:

DAY=$(echo "$daysSeconds" | awk '{print strftime("%d",systime()-$1)}') 

дает 18 для $DAY

+0

@swapna Это сработало !!! Большое спасибо. – Tufail

+0

Добро пожаловать. Пожалуйста, примите ответ, сделав пустой галочкой мой почтовый зеленый :) – Jotne