Сценарий оболочки для возврата диапазона (мин. И макс.) Столбца date_time нескольких файлов данных - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть несколько файлов данных, "|"разделены, и я хочу получить диапазон дат столбца всех из них с помощью сценария оболочки (я новичок в программировании оболочки).У данных нет заголовка.

Вот строка с моими данными, столбец date_time в столбце 11.

2546|Sprint||0||0|0||4|0|2015-10-01 05:49:51

Я написал код, но просто получаю из него бессмысленные результаты:

awk -F"[-,:. ]" '

BEGIN{

min_ext="99999999999999999999"

}
{
ext=$11$12$13$14$15$116$17; 
if(min_ext>ext){min_ext=ext}
if(max_ext<ext){max_ext=ext}
}


END{

print "min ext "min_ext
print "max ext "max_ext
}' data.csv

1 Ответ

0 голосов
/ 28 ноября 2018

Не дало нам большого количества данных для работы ... :) Готовый ввод:

cat max
2546|Sprint||0||0|0||4|0|2015-10-02 05:49:51
2547|Sprint||0||0|0||4|0|2015-10-01 05:49:51
2548|Sprint||0||0|0||4|0|2015-10-06 05:49:51

Некоторый вывод:

sort -t'|' -k11,11 max | awk 'NR==1;{last=$0}END{print last}' 
2547|Sprint||0||0|0||4|0|2015-10-01 05:49:51
2548|Sprint||0||0|0||4|0|2015-10-06 05:49:51

Редактировать 1: для хихиканья по awkрешение:

awk -F'|' '{i[$11]=$0} END{c=asorti(i,o);print i[o[1]];print i[o[c]]}' max
2547|Sprint||0||0|0||4|0|2015-10-01 05:49:51
2548|Sprint||0||0|0||4|0|2015-10-06 05:49:51
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...