У меня ниже 4 строки:
EXTRACT ETEST Last Started 2016-03-20 20:56 Status RUNNING
Checkpoint Lag 00:00:02 (updated 00:00:04 ago)
EXTRACT PTEST Initialized 2016-03-31 06:25 Status STOPPED
Checkpoint Lag 00:00:00 (updated 02:21:09 ago)
Все, что я хочу сделать из них в 2 строки, как показано ниже:
EXTRACT ETEST Last Started 2016-03-20 20:56 Status RUNNING Checkpoint Lag 00:00:02 (updated 00:00:04 ago)
EXTRACT PTEST Initialized 2016-03-31 06:25 Status STOPPED Checkpoint Lag 00:00:00 (updated 02:21:09 ago)
Что я могу сделать с помощью cat /tmp/glog.lst|xargs -n 14
:
EXTRACT ETEST Last Started 2016-03-20 20:56 Status RUNNING Checkpoint Lag 00:00:02 (updated 00:00:04 ago)
EXTRACT PTEST Initialized 2016-03-31 06:25 Status STOPPED Checkpoint Lag 00:00:00 (updated 02:21:09 ago)
Но строка 1 имеет 14 полей, а строка 2 - 13 полей.
Проблема заключалась в том, что строка 2 была инициализирована по сравнению с «последним запуском»
Я хочу создать строку с менее чем 14 столбцами по 14 столбцов, установив фиктивные столбцы с помощью или «N» (или) чего-то, чтобы в нем было 14 столбцов, которые способ, которым я могу легко обработать свой сценарий.
Я хочу сделать это окончательно
EXTRACT ETEST Last Started 2016-03-20 20:56 Status RUNNING Checkpoint Lag 00:00:02 (updated 00:00:04 ago)
EXTRACT PTEST Initialized N 2016-03-31 06:25 Status STOPPED Checkpoint Lag 00:00:00 (updated 02:21:09 ago)
Это то, что мне нужно
$ awk '{ if (FNR%2==1) tmp=$0; else print tmp,$0 }' /tmp/gglog.lst
EXTRACT ETEST1 Initialized 2016-03-20 20:56 Status STOPPED Checkpoint Lag 00:00:02 (updated 00:00:09 ago)
EXTRACT ETEST2 Last Started 2016-03-20 20:56 Status RUNNING Checkpoint Lag 00:00:02 (updated 00:00:04 ago)
EXTRACT ETEST3 Last Started 2016-03-20 20:56 Status RUNNING Checkpoint Lag 00:00:02 (updated 00:00:09 ago)
EXTRACT PTEST1 Last Started 2016-03-29 08:46 Status RUNNING Checkpoint Lag 00:00:00 (updated 00:00:02 ago)
EXTRACT PTEST0 Last Started 2016-03-29 08:46 Status RUNNING Checkpoint Lag 00:00:00 (updated 00:00:05 ago)
Теперь я хочу извлечь значения столбцов Initialized / Last / Started, чтобы они были такими
EXTRACT ETEST1 2016-03-20 20:56 Status STOPPED Checkpoint Lag 00:00:02 (updated 00:00:09 ago)
EXTRACT ETEST2 2016-03-20 20:56 Status RUNNING Checkpoint Lag 00:00:02 (updated 00:00:04 ago)
EXTRACT ETEST3 2016-03-20 20:56 Status RUNNING Checkpoint Lag 00:00:02 (updated 00:00:09 ago)
EXTRACT PTEST1 2016-03-29 08:46 Status RUNNING Checkpoint Lag 00:00:00 (updated 00:00:02 ago)
EXTRACT PTEST0 2016-03-29 08:46 Status RUNNING Checkpoint Lag 00:00:00 (updated 00:00:05 ago)
или Можем ли мы прервать Initialized to Инициализировать сейчас, т.е. независимо от того, какая строка, которую мы храним, работает. Инициализировано, мы хотим разбить ее на "Init Now"
EXTRACT ETEST1 Init Now 2016-03-20 20:56 Status STOPPED Checkpoint Lag 00:00:02 (updated 00:00:09 ago)
EXTRACT ETEST2 Last Started 2016-03-20 20:56 Status RUNNING Checkpoint Lag 00:00:02 (updated 00:00:04 ago)
EXTRACT ETEST3 Last Started 2016-03-20 20:56 Status RUNNING Checkpoint Lag 00:00:02 (updated 00:00:09 ago)
EXTRACT PTEST1 Last Started 2016-03-29 08:46 Status RUNNING Checkpoint Lag 00:00:00 (updated 00:00:02 ago)
EXTRACT PTEST0 Last Started 2016-03-29 08:46 Status RUNNING Checkpoint Lag 00:00:00 (updated 00:00:05 ago)