Possivelmente uma solução simples que eu extraviei. Como posso atq
classificar cronologicamente a saída , para que eu possa ver facilmente quem deve executar a seguir? A man
página para sort
não possui nada interno para reconhecer registros de data e hora como o seguinte:
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
também não funcionaria no salto da identificação do trabalho.
date
pode fazer. Com o--date=STRING
param e+\%Y-\%m-\%d_\%H-\%M-\%S
Respostas:
Supondo que você esteja no Linux, a saída de
atq
sempre tem a data no mesmo formato. Classifique os campos na ordem apropriada, declarando quais são os números ou os nomes dos meses. Certifique-se de usar uma localidade em inglês para os nomes dos meses, pois é isso queatq
usa.fonte
O
sort
comando pode fazer isso, mas, infelizmente, você não pode usar--month-sort
e--numeric-sort
juntos. Então use:Isso converterá as abreviações do mês em seus valores numéricos e, em seguida, classificará primeiro no ano (
-k6,6
), depois mês e dia (-k3,4
). A saída não terá os nomes dos meses, mas se você realmente quiser, poderá convertê-los com outrosed
.Observe que
s/12/Dec/
precisa vir antess/1/Jan/
.fonte
date
comando possui poderes especiais de análise de registro de data e hora que podem tornar isso mais simples quando alimentados nos campos corretos, por exemplo. comcut
.-k
opção:-k 3M
e assim por diante.Parece complicado, mas isso também funciona:
Comparado com outras sugestões, eu gosto de como a análise real é deixada para a
date
qual compreende o carimbo de data / hora do texto, para que você possa reformatar para o que quiser, tornando mais fácil filtrar ou classificar mais tarde.Você pode aplicar um
|column -t
no final para alinhar e espaçar os campos.fonte
bash readline
em vez deawk