É possível visualizar esta saída classificada com titlepage_1.pdf antes de titlepage_19.pdf?
$ ls
allTitlepage.pdf titlepage_12.pdf titlepage_19.tex titlepage_26.pdf titlepage_32.tex titlepage_4.tex
allTitlepage.tex titlepage_12.tex titlepage_1.pdf titlepage_26.tex titlepage_33.pdf titlepage_5.pdf
assignment.pdf titlepage_13.pdf titlepage_1.tex titlepage_27.pdf titlepage_34.pdf titlepage_5.tex
assignment.tex titlepage_13.tex titlepage_20.pdf titlepage_27.tex titlepage_34.tex titlepage_6.pdf
graphicsAssignment2.pdf titlepage_14.pdf titlepage_20.tex titlepage_28.pdf titlepage_35.pdf titlepage_6.tex
graphicsAssignment2.tex titlepage_14.tex titlepage_21.pdf titlepage_28.tex titlepage_35.tex titlepage_7.pdf
README.md titlepage_15.pdf titlepage_21.tex titlepage_29.pdf titlepage_36.pdf titlepage_7.tex
thesisTitlepage.pdf titlepage_15.tex titlepage_22.pdf titlepage_29.tex titlepage_36.tex titlepage_8.pdf
thesisTitlepage.tex titlepage_16.pdf titlepage_22.tex titlepage_2.pdf titlepage_37.pdf titlepage_8.tex
titlepage_0.pdf titlepage_16.tex titlepage_23.pdf titlepage_2.tex titlepage_37.tex titlepage_9.pdf
titlepage_0.tex titlepage_17.pdf titlepage_23.tex titlepage_30.pdf titlepage_38.pdf titlepage_9.tex
titlepage_10.pdf titlepage_17.tex titlepage_24.pdf titlepage_30.tex titlepage_38.tex titlepage_one.pdf
titlepage_10.tex titlepage_18.pdf titlepage_24.tex titlepage_31.pdf titlepage_3.pdf titlepage_one.tex
titlepage_11.pdf titlepage_18.tex titlepage_25.pdf titlepage_31.tex titlepage_3.tex titlepage_two.tex
titlepage_11.tex titlepage_19.pdf titlepage_25.tex titlepage_32.pdf titlepage_4.pdf
command-line
ls
alhelal
fonte
fonte
Respostas:
Use a opção -v [tipo natural de (versão) de números no texto]
fonte
A saída é classificada. De acordo com a página de
ls
manual:Mas se você quiser ir além, tem pelo menos duas opções:
Opção 1 -
ls
chaves de classificaçãoman ls
informa sobre várias opções que você pode usar para classificar, especificamente, a página man ls diz:No seu caso, você deseja classificar a "versão" (-v). Porém, tenha cuidado, pois isso também classifica qualquer coisa que tenha um
blahblah-X.Y.Z-A
arranjo que pode não ser totalmente o que você deseja. Veja também a explicação do GNU sobre o tipo de versão .Opção 2 - direciona para comandos de classificação
Você pode usar um canal
|
para enviar a saída para outro comando, por exemplo, o comandosort
que você pode usar para classificar de várias outras maneiras, comols -1 | sort -n
útil se você tiver numerados arquivos. A-1
opção garante que a saída seja uma linha por arquivo.Da mesma forma, você pode manipular a saída para ajudar na classificação usando coisas como
sed
ouawk
.Existem várias maneiras de responder a esse tipo de * pergunta. Você pode encontrar um tutorial sobre shell linux útil.
* (Veja o que eu fiz lá? :-P)
fonte
Como já apontado em um comentário, a saída já está classificada, mas por caracteres, não por números. Você pode canalizar a saída
ls
através dasort
qual possui uma opção para classificar por números nas cadeias:Na página de manual :
Desvantagem: quando emitimos
ls
, os arquivos são mostrados em uma tabela com quantas colunas caberem na tela atual (exatamente como você mostrou na sua postagem). Mas quandols
percebe que sua saída é redirecionada para um arquivo ou canal (como emls | sort
),ls
os arquivos são impressos em apenas uma coluna, pois supõe que a saída deve ser processada linha por linha (também conhecida como arquivo por arquivo) por algum outro programa (comosort
). Portanto, a saída dels | sort -V
estará em uma coluna em vez de em uma tabela com várias colunas. Veja a resposta simples mas perfeita de @vijay para saber como evitar isso.fonte
column
ls -l
: lista os arquivos do diretório verticalmente, mas não em uma ordem específica.ls -l | sort -k 3
:-k 3
classificaria a saída do comando anterior pela 3ª coluna.fonte