LINUX.ORG.RU

[bash] однострочники


0

3

дано

grep ^ZZZZ vlio_120229_2201
ZZZZ,T0001,22:01:37,29-FEB-2012
ZZZZ,T0002,22:01:38,29-FEB-2012
ZZZZ,T0003,22:01:39,29-FEB-2012
ZZZZ,T0004,22:01:40,29-FEB-2012
ZZZZ,T0005,22:01:41,29-FEB-2012
ZZZZ,T0006,22:01:42,29-FEB-2012
ZZZZ,T0007,22:01:43,29-FEB-2012
ZZZZ,T0008,22:01:44,29-FEB-2012
ZZZZ,T0009,22:01:45,29-FEB-2012
ZZZZ,T0010,22:01:46,29-FEB-2012

нужно получть время в формате «с начала эпохи»

набросал так

grep ^ZZZZ vlio_120229_2201.nmon | cut -d\, -f 4,3 --output-delimiter=' ' |  awk '{print $2, $1}' > dates && date   +%s -f dates 
1330545697
1330545698
1330545699
1330545700
1330545701
1330545702
1330545703
1330545704
1330545705
1330545706

не красиво как то. какие будут предложения?

awk -F, '/^ZZZZ/{print $4, $3}' vlio_120229_2201.nmon
anonymous ()
$ grep -o -E '..:..:..,..-[^-]+-....' vlio_120229_2201 | awk -F, '{print "date +%s -d\"" $2" "$1"\""}' | sh

чуть подправить, и им можно будет пугать детей ;)

anTaRes ★★★★ ()

как-бе намекаю

$ date -d "22:01:37 29-FEB-2012"
Срд Фев 29 22:01:37 MSK 2012

MKuznetsov ★★★★★ ()

Например так

awk -F, '/^ZZZZ/ {"date +%s -d\"" $4 " " $3 "\"" | getline; print}' vlio_120229_2201.nmon
kim-roader ★★ ()
sed -n 's/^ZZZZ,T[0-9]*,\(.*\),\(.*\)/\2 \1/p' vlio_120229_2201.nmon | date +%s -f -
Elyas ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.