Возможно, простое решение я потерял. Как я могу получить результаты atq
сортировки в хронологическом порядке, чтобы я мог легко видеть, кто будет работать дальше? man
Страница sort
не имеет ничего встроенного распознавать метки времени , как в следующем:
atq
1264 Sat Mar 24 15:03:00 2012 a master
1445 Sat Mar 24 20:28:00 2012 a master
1548 Sun Mar 25 15:09:00 2012 a master
1193 Sat Mar 24 11:03:00 2012 a master
1359 Sat Mar 24 17:13:00 2012 a master
1726 Mon Mar 26 21:24:00 2012 a master
1736 Mon Mar 26 22:04:00 2012 a master
1748 Mon Mar 26 22:46:00 2012 a master
1704 Mon Mar 26 20:19:00 2012 a master
1288 Sat Mar 24 15:38:00 2012 a master
1532 Sun Mar 25 11:53:00 2012 a master
atq |sort
не будет работать ни на прыжке вокруг удостоверения личности.
date
может сделать. С--date=STRING
параметром и+\%Y-\%m-\%d_\%H-\%M-\%S
Ответы:
Предполагая, что вы работаете в Linux, вывод
atq
всегда имеет дату в одном и том же формате. Сортируйте поля в соответствующем порядке, стараясь указать, какие из них являются числами или названиями месяцев. Убедитесь, что вы используете английскую локаль для названий месяцев, так как это то, чтоatq
используется.источник
Команда
sort
может сделать это, но, к сожалению, вы не можете использовать--month-sort
и--numeric-sort
вместе. Так что используйте:Это преобразует сокращения месяца в их числовые значения, а затем сортирует сначала по году (
-k6,6
), а затем по месяцу и дню (-k3,4
). В выводе не будет названий месяцев, но если вы действительно хотите, вы можете преобразовать их обратно в другойsed
.Обратите внимание, что
s/12/Dec/
должно прийти раньшеs/1/Jan/
.источник
date
команда обладает специальными возможностями разбора меток времени, которые могут упростить эту задачу, если заполнить нужные поля, например. сcut
.-k
параметра:-k 3M
и так далее.Выглядит сложно, но это также работает:
По сравнению с другими предложениями мне нравится, как фактический синтаксический анализ оставлен для
date
понимания текстовой метки времени, так что вы можете переформатировать его так, как вам захочется, что позволяет легко фильтровать или сортировать позже.Вы можете прикрепить
|column -t
в конце, чтобы хорошо выровнять и разнести поля.источник
bash readline
вместоawk