Supposons que je fasse une liste et trie les fichiers par leur attribut temporel:
ls -ltr
-rwxrwxrwx 1 bla bla 4096 Feb 01 20:10 foo1
-rwxrwxrwx 1 bla bla 4096 Feb 01 20:12 foo2
.
.
.
-rwxrwxrwx 1 bla bla 4096 Mar 05 13:25 foo1000
Que dois-je ajouter derrière le ls -ltr dans une chaîne de tuyaux afin d'obtenir uniquement la dernière ligne de la liste? Je sais qu'il y a des sed et des awk, mais je ne sais pas comment les utiliser, je sais seulement ce qu'ils peuvent faire.
command-line
sed
awk
ls
Abdul Al Hazred
la source
la source
sed -n '$p'
fait la même chose, maistail -1
est vraiment le bon outil pour le travail.sed '$!d s/.*: 0\+//' /proc/cpuinfo
Vous recherchez
tail
:Cela affichera uniquement la dernière ligne de
ls -ltr
sortie de. Vous pouvez contrôler le nombre de lignes en modifiant la valeur après-n
; si vous omettez-n 1
entièrement, vous obtiendrez dix lignes.la source
tail -1
...-n
est redondant.tail -1
est obsolète (voir la section «RATIONALE» de la spécification POSIX pourtail
, ou la dernière partie du manuel GNUtails
); cela fonctionne toujours dans ce cas, pour l'instant, mais il vaut mieux éviter de l'utiliser dans des exemples.Avec awk:
la source