Se não me engano, o shell representa a saída lsem várias colunas, mas a saída de lsé canalizada para comando a seguir com 1 arquivo / dir em um momento
Alex
esse parece ser o caso. Bela simplificação.
Paul Rubel 28/03
3
Isso ignora o total no topo:ls -1t | head -n 6 | tail -n 5
Ryan
1
Não vejo um total, mas se existe um que certamente funcionaria.
precisa
18
A resposta aceita lista apenas os nomes dos arquivos, mas para obter os 5 principais arquivos, também é possível usar:
ls -lht | head -6
Onde:
-l saídas em formato de lista
-h torna a saída legível por humanos (ou seja, os tamanhos dos arquivos aparecem em kb, mb, etc.)
-t classifica a saída colocando primeiro o arquivo modificado mais recentemente
head -6mostrará 5 arquivos porque lsimprime o tamanho do bloco na primeira linha de saída.
Eu acho que essa é uma abordagem um pouco mais elegante e possivelmente mais útil.
Exemplo de saída:
total 26960312
-rw-r--r--@ 1 user staff 1.2K 11 Jan 11:22 phone2.7.py
-rw-r--r--@ 1 user staff 2.7M 10 Jan 15:26 03-cookies-1.pdf
-rw-r--r--@ 1 user staff 9.2M 9 Jan 16:21 Wk1_sem.pdf
-rw-r--r--@ 1 user staff 502K 8 Jan 10:20 lab-01.pdf
-rw-rw-rw-@ 1 user staff 2.0M 5 Jan 22:06 0410-1.wmv
Isso dá os 5 mais antigos. Você precisa reverter o sort ( ls -tr) ou usar, em headvez de tail, para obter os 5 mais novos.
Headbank
2
Por padrão, ls -tclassifica a saída da mais nova para a mais antiga; portanto, a combinação de comandos a ser usada depende de qual direção você deseja que sua saída seja ordenada.
Para os 5 arquivos mais recentes ordenados do mais recente para o mais antigo, use headas 5 primeiras linhas de saída:
ls -t | head -n 5
Para os 5 arquivos mais recentes ordenados do mais antigo para o mais novo, use a -ropção para reverter lsa ordem de classificação e use tailas 5 últimas linhas de saída:
ls -tlistar arquivos por hora de criação e não pela última vez modificada. Use ls -ltcse desejar listar arquivos pela última vez modificada, da última para a primeira (de cima para baixo). Assim, para listar o último n:ls -ltc | head ${n}
Qual plataforma / versão você se refere? Você pode fornecer um link? Olhando para a página de manual do linux, obtém-se o oposto do que você declara: -t sort by modification time, newest first
ls -lrt
pode ajudar alguém.tharl
, pois tende a ter tudo o que preciso.Respostas:
Tente usar a cabeça ou a cauda. Se você deseja os 5 arquivos modificados mais recentemente:
O -1 (que é um) indica um arquivo por linha e o cabeçalho diz que recebe as 5 primeiras entradas.
Se você quiser as últimas 5 tentativas
fonte
ls
em várias colunas, mas a saída dels
é canalizada para comando a seguir com 1 arquivo / dir em um momentols -1t | head -n 6 | tail -n 5
A resposta aceita lista apenas os nomes dos arquivos, mas para obter os 5 principais arquivos, também é possível usar:
ls -lht | head -6
Onde:
-l
saídas em formato de lista-h
torna a saída legível por humanos (ou seja, os tamanhos dos arquivos aparecem em kb, mb, etc.)-t
classifica a saída colocando primeiro o arquivo modificado mais recentementehead -6
mostrará 5 arquivos porquels
imprime o tamanho do bloco na primeira linha de saída.Eu acho que essa é uma abordagem um pouco mais elegante e possivelmente mais útil.
Exemplo de saída:
total 26960312 -rw-r--r--@ 1 user staff 1.2K 11 Jan 11:22 phone2.7.py -rw-r--r--@ 1 user staff 2.7M 10 Jan 15:26 03-cookies-1.pdf -rw-r--r--@ 1 user staff 9.2M 9 Jan 16:21 Wk1_sem.pdf -rw-r--r--@ 1 user staff 502K 8 Jan 10:20 lab-01.pdf -rw-rw-rw-@ 1 user staff 2.0M 5 Jan 22:06 0410-1.wmv
fonte
Use o
tail
comando:fonte
ls -tr
) ou usar, emhead
vez detail
, para obter os 5 mais novos.Por padrão,
ls -t
classifica a saída da mais nova para a mais antiga; portanto, a combinação de comandos a ser usada depende de qual direção você deseja que sua saída seja ordenada.Para os 5 arquivos mais recentes ordenados do mais recente para o mais antigo, use
head
as 5 primeiras linhas de saída:Para os 5 arquivos mais recentes ordenados do mais antigo para o mais novo, use a
-r
opção para reverterls
a ordem de classificação e usetail
as 5 últimas linhas de saída:fonte
ls -t
listar arquivos por hora de criação e não pela última vez modificada. Usels -ltc
se desejar listar arquivos pela última vez modificada, da última para a primeira (de cima para baixo). Assim, para listar o último n:ls -ltc | head ${n}
fonte
-t sort by modification time, newest first