Não tenho certeza ls, mas você pode facilmente fazê-lo com o filecomando: file /directory/containing/the/files -maxdepth 1 -not -type d.
Henning Kockerbeck 11/08/16
1
Outra maneira seria filtrar a saída de lspassagem grep, algo assim ls -1F /directory/containing/the/files | grep -vE /$. Mas lembre-se de que analisar a saída de ls pode ser complicado .
O uso de ls -ptell lspara anexar uma barra às entradas que são um diretório e o uso de grep -v /tell greppara retornar apenas linhas que não contêm uma barra.
Eu verifiquei este porque é a minha resposta favorita (enquanto eu fiz upvote todos eles), mas agora a tentar encontrar uma maneira de colocá-lo em colunas e inverter a ordem de saída ...
thinksinbinary
"Você pode usar 1 opção para lista de colunas únicas" desculpe, eu tentei descobrir o que você quis dizer com isso, eu apreciaria e exemplo / explicação, se você souber, só sei o que é uma opção em relação à programação C
thinkinbinary
@sdkks Você não precisa do 1switch ao canalizar a saída, pois o padrão será a coluna única nessa situação. Se é isso que você estava querendo dizer.
precisa saber é o seguinte
@thinksinbinary não tem certeza de como criar várias colunas, mas você pode procurar ou fazer sua própria pergunta em separado e alguém saberá.
thomasrutter
7
Você pode tentar o seguinte:
find . -maxdepth 1 -not -type d
E mapeie isso para um alias especial.
Mas se você está realmente interessado em usar o lscomando, aqui:
Vi no seu comentário (@thinksinbinary) a resposta de @thomasrutter, que você queria imprimi-los em ordem inversa e em colunas. Você provavelmente já descobriu ou seguiu em frente, mas aqui está:
ls -pr | grep -v / | column
-p adiciona a barra ('/') aos nomes de diretório
-r reverte a ordem de saída
-v permite ao grep fazer uma pesquisa inversa para imprimir tudo, exceto os diretórios ( tudo o que não tem o '/' que -p coloca lá )
Eu acho legal que no fórum do ubuntu as pessoas ainda comentem e leiam suas postagens depois de um longo tempo. Eu estava querendo voltar ao linux para aprender a montagem e sistemas operacionais, pois fazê-lo no Windows é muito mais difícil. Obrigado!
thinkinbinary 30/10
0
ls -F | grep -v /
O comando acima exibe arquivos, mas inclui links simbólicos, tubulações etc. Se você também deseja eliminá-los, pode usar um dos sinalizadores mencionados abaixo.
ls -Fanexa símbolos aos nomes de arquivos. Esses símbolos mostram informações úteis sobre arquivos.
ls
, mas você pode facilmente fazê-lo com ofile
comando:file /directory/containing/the/files -maxdepth 1 -not -type d
.ls
passagemgrep
, algo assimls -1F /directory/containing/the/files | grep -vE /$
. Mas lembre-se de que analisar a saída de ls pode ser complicado .Respostas:
O uso de
ls -p
tellls
para anexar uma barra às entradas que são um diretório e o uso degrep -v /
tellgrep
para retornar apenas linhas que não contêm uma barra.fonte
1
switch ao canalizar a saída, pois o padrão será a coluna única nessa situação. Se é isso que você estava querendo dizer.Você pode tentar o seguinte:
find . -maxdepth 1 -not -type d
E mapeie isso para um alias especial.
Mas se você está realmente interessado em usar o
ls
comando, aqui:ls -p | egrep -v /$
fonte
Alternativamente:
Este método lista em
-l
Formato de lista longa-A
Exibe quase tudo (mostra arquivos ocultos, mas não mostra.
e..
)-h
Tamanhos de arquivos legíveis por humanosenquanto grep
-v
Não mostrar registros correspondentesRegular expression
filter^d
- começa com a letra d (para diretório), isto é,drwxrwxr-x <some file details> <foldername>
Se você não quiser digitar todas as vezes, poderá transformá-lo em um alias para o seu perfil bash / shell.
fonte
Vi no seu comentário (@thinksinbinary) a resposta de @thomasrutter, que você queria imprimi-los em ordem inversa e em colunas. Você provavelmente já descobriu ou seguiu em frente, mas aqui está:
fonte
O comando acima exibe arquivos, mas inclui links simbólicos, tubulações etc. Se você também deseja eliminá-los, pode usar um dos sinalizadores mencionados abaixo.
ls -F
anexa símbolos aos nomes de arquivos. Esses símbolos mostram informações úteis sobre arquivos.@
significa link simbólico (ou que o arquivo possui atributos estendidos ).*
significa executável .=
significa soquete .|
significa pipe nomeado .>
significa porta ./
significa diretório .O comando acima exibe apenas arquivos.
fonte