Como exibir apenas a última linha de uma listagem?

9

Suponha que eu faça uma listagem e classifique os arquivos por seu atributo temporal:

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

O que devo adicionar atrás do ls-ltr em uma cadeia de tubos para obter apenas a última linha da listagem? Eu sei que existem sed e awk, mas eu não sei como usá-los, só sei o que eles podem fazer.

    
por Abdul Al Hazred 26.03.2015 / 23:16

3 respostas

18

Desde que você perguntou sobre sed especificamente,

ls -ltr | sed '$!d'
    
por 26.03.2015 / 23:32
7

Você está procurando por tail :

ls -ltr | tail -n 1

Isso exibirá apenas a última linha da saída de ls -ltr . Você pode controlar o número de linhas alterando o valor após -n ; se você omitir -n 1 inteiramente, você terá dez linhas.

    
por 26.03.2015 / 23:17
3

com o awk:

ls -ltr | awk 'END { print }'
    
por 26.03.2015 / 23:23