Classificando a saída ls onde os arquivos terminam em números [duplicados]

2

Aqui está a saída do meu comando normal ls :

f1  f10  f11  f12  f13  f14  f15  f16  f17  f18  f19  f2  f20  f3  f4  f5  f6  f7  f8  f9

Então eu tenho 20 arquivos. Eu preciso deles exibidos como:

f1  f2 f3  f4  f5  f6  f7  f8  f9 f10  f11  f12  f13  f14  f15  f16  f17  f18  f19  f20  

Existe algum comando de linha única para isso além de escrever um script? Tenho certeza que alguns de vocês devem ter enfrentado essa situação estranha. Nota: o acima é apenas uma amostra. No cenário real, preciso de uma lista de todos os nomes de arquivos na ordem de classificação adequada. (variando de f{0..10000} )

    
por 0aslam0 09.03.2016 / 15:17

2 respostas

4

felizmente! existe um comando de linha única

ls -lav

deve fazer o que você está procurando

    
por 09.03.2016 / 15:20
2

Com o GNU ls , você pode usar:

ls -v

Com o POSIX tools chest:

ls | sort -nk1.2 | paste -sd ' ' -

Se você tiver certeza de que todos os arquivos no intervalo existiam, com os shells têm expansão de chave :

echo f{1..20}

com zsh :

print -r -- f*(n)
    
por 09.03.2016 / 15:32