Suponha que eu faça uma lista 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? Sei que existem sed e awk, mas não sei como usá-los, só sei o que eles podem fazer.
command-line
sed
awk
ls
Abdul Al Hazred
fonte
fonte
sed -n '$p'
faz a mesma coisa, mastail -1
é realmente a ferramenta certa para o trabalho.sed '$!d s/.*: 0\+//' /proc/cpuinfo
Você está procurando
tail
:Isso exibirá apenas a última linha de
ls -ltr
saída. Você pode controlar o número de linhas alterando o valor depois-n
; se você omitir-n 1
completamente, receberá dez linhas.fonte
tail -1
...-n
é redundante.tail -1
está obsoleto (consulte a seção “RATIONALE” da especificação POSIXtail
ou a última parte do manual GNUtails
); ainda funciona nesse caso, por enquanto, mas é melhor evitar usá-lo em exemplos.Com awk:
fonte