nous allons avoir
126 Mar 8 07:45:09 nod1 /sbin/ccccilio[12712]: INFO: sadasdasdas
2 Mar 9 08:16:22 nod1 /sbin/zzzzo[12712]: sadsdasdas
1 Mar 8 17:20:01 nod1 /usr/sbin/cron[1826]: asdasdas
4 Mar 9 06:24:01 nod1 /USR/SBIN/CRON[27199]: aaaasdsd
1 Mar 9 06:24:01 nod1 /USR/SBIN/CRON[27201]: aaadas
Je voudrais trier cette sortie par clé de date et d'heure.
Merci beaucoup.
Martin
Pour GNU trier: sort -k2M -k3n -k4
-k2M
trie par deuxième colonne par mois (de cette façon, "mars" précède "avril")-k3n
trie par troisième colonne en mode numérique (de sorte que "9" précède "10")-k4
trie par la quatrième colonne.Voir plus de détails dans le manuel .
peu hors sujet - mais de toute façon. utile uniquement lorsque vous travaillez dans des arborescences de fichiers
ls -l -r --sort=time
à partir de cela, vous pouvez créer un one-liner qui supprime par exemple la plus ancienne sauvegarde de la ville.
ls -l -r --sort=time | grep backup | head -n1 | while read line; do oldbackup=\`echo $line | awk '{print$8}'\`; rm $oldbackup; done;
les jours nécessitent un tri numérique (non lexical), il doit donc être sort -s -k 2M -k 3n -k 4,4
Voir plus de détails ici .
Vous pouvez utiliser la commande sort:
cat $logfile | sort -M -k 2
Cela signifie: Trier par mois (-M) à partir de la deuxième colonne (-k 2).