Mungkin solusi sederhana yang saya salah tempat. Bagaimana saya bisa mendapatkan output yang atq
diurutkan secara kronologis, sehingga saya dapat dengan mudah melihat siapa yang akan menjalankan selanjutnya? The man
halaman untuk sort
tidak memiliki apa-apa built-in untuk mengenali cap waktu seperti berikut:
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
tidak akan bekerja baik di id pekerjaan melompat-lompat.
date
bisa dilakukan. Dengan--date=STRING
param dan+\%Y-\%m-\%d_\%H-\%M-\%S
Jawaban:
Dengan asumsi Anda menggunakan Linux, output
atq
selalu memiliki tanggal dalam format yang sama. Urutkan bidang dalam urutan yang sesuai, dengan hati-hati untuk menyatakan mana yang merupakan angka atau nama bulan. Pastikan untuk menggunakan bahasa Inggris untuk nama bulan karena itulah yangatq
digunakan.sumber
The
sort
perintah dapat melakukannya, tapi sayangnya, Anda tidak dapat menggunakan--month-sort
dan--numeric-sort
bersama-sama. Jadi gunakan:Ini akan mengonversi singkatan bulan menjadi nilai numeriknya, lalu mengurutkannya pertama kali pada tahun (
-k6,6
), lalu bulan dan hari (-k3,4
). Output tidak akan memiliki nama bulan, tetapi jika Anda benar-benar menginginkannya, Anda dapat mengonversinya kembali dengan yang lainsed
.Perhatikan bahwa
s/12/Dec/
perlu datang sebelumnyas/1/Jan/
.sumber
date
perintah memiliki kekuatan parsing timestamp khusus yang bisa membuat ini lebih sederhana ketika diberi makan bidang yang tepat misalnya. dengancut
.-k
opsi:-k 3M
dan seterusnya.Terlihat rumit tetapi ini juga berfungsi:
Dibandingkan dengan saran lain saya suka bagaimana parsing sebenarnya dibiarkan
date
yang memahami cap waktu tekstual, sehingga Anda dapat memformat ulang untuk apa pun yang Anda inginkan yang membuatnya mudah untuk menyaring atau mengurutkan nanti.Anda dapat menempel pada
|column -t
pada akhirnya untuk menyelaraskan dan ruang keluar dengan baik.sumber
bash readline
alih - alihawk