пытаясь получить название месяца в awk, используя систему - PullRequest
0 голосов
/ 20 декабря 2011

Я пытаюсь получить название месяца в awk, используя следующий код.

 system("date -d" dat "+%b")

Как назначить вывод переменной?

Ответы [ 3 ]

2 голосов
/ 20 декабря 2011

Вам нужно использовать system()? А как насчет awk's strftime()? Вы можете посмотреть пример здесь (хотя, похоже, он специфичен для GNU-awk).

0 голосов
/ 20 декабря 2011

Если ваш вопрос «Как мне заполнить переменную выводом командной строки», то ответ - «каналы». : -)

$ awk 'BEGIN{ str="date \"+%b\""; str | getline content; print content; }'
Dec

Обратите внимание, что это, вероятно, не то, что вы действительно хотите делать, но без более подробной информации о ваших намерениях, по крайней мере, это отвечает на ваш вопрос.

0 голосов
/ 20 декабря 2011

Вы можете сделать что-то вроде этого -

[jaypal:~/Temp] awk -v dat="20111016" 'BEGIN{split("Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec",month,","); a=substr(dat,5,2); print month[a]}'
Oct
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...