UNIX программирование - PullRequest
0 голосов
/ 26 июля 2010

Здравствуйте, я хочу преобразовать дату UNIX в обычную дату (ГГГГ-ММ-ДД)

22222,0,0,0,14387
33333,0,0,0,14170
44444,0,0,0,14244
55555,0,0,0,14190
66666,0,0,0,14528
77777,0,0,0,14200
88888,0,0,0,0
99999,0,0,0,0

здесь 5-й столбец представляет дату UNIX

я хочу преобразовать в

22222,0,0,0,2009-05-23

и аналогичные оставшиеся строки

может мне помочь любое тело

1 Ответ

5 голосов
/ 26 июля 2010

Простой скрипт awk должен сделать это

awk -F, 'BEGIN{OFS=","} { print $1,$2,$3,$4,strftime("%Y-%m-%d",$5) }' myFile.txt

Приветствие.

EDIT:
Вы не используете метки времени Unix, но я проверил ваши данные, и кажется, что вы используете дни с начала эпохи, так что вот так:

awk -F, 'BEGIN{OFS=","} { print $1,$2,$3,$4,strftime("%Y-%m-%d",$5*86400) }' myFile.txt
...