Сценарий Awk :преобразует последнее поле в метку времени и сравнивает.
#!/usr/bin/awk -f
BEGIN {
FS = "|"
}
{
data[NR] = $0
cmd = "date \"+%s\" --date " "\"" $5 "\""
cmd|getline
stamp2idx[$0] = NR
}
END {
asorti(stamp2idx, sorted)
for (n in sorted) {
print data[stamp2idx[sorted[n]]]
}
}
выход
➤./solution.awk data 20:39:09
Beendet|48150|1550775601|EXP|Thu Feb 21 20:00:12 2019
Beendet|9072|1550777401|AMS0|Thu Feb 21 20:52:17 2019
Beendet|7|1550779201|MAS|Thu Feb 21 21:00:23 2019
Beendet|940001|1550790961|CBST|Fri Feb 22 0:16:12 2019
Beendet|73|1550790061|HIST|Fri Feb 22 2:00:30 2019
Beendet|9220|1550804401|AMS1|Fri Feb 22 4:00:09 2019
Beendet|48149|1550804401|STR|Fri Feb 22 4:00:45 2019
Beendet|122|1550804821|HIST1|Fri Feb 22 4:07:08 2019
Beendet|670|1550811601|MOR|Fri Feb 22 6:00:07 2019
Beendet|658521|1550817001|CANS|Fri Feb 22 7:30:10 2019
Дерьмо. Хотя я потратил более часа на изучение вопросов и ответов здесь и просмотр результатов Duckduckgo, ответ пришел ко мне сразу же, как только я задал вопрос. Подсказка находится в адресе привязки :172.17.0.1 — это интерфейс докера. Проблема в том, что я слушаю интерфейс докера, но никогда не говорил скрипту ждать докера.
Итак, я изменил строку 2 на
After=network-online.target docker.service
и после перезагрузки все работает как положено.