Como obter uma lista de nomes de arquivos em linhas diferentes


116

Quero obter uma lista de todos os arquivos em um diretório, como com ls, para que cada nome de arquivo fique em uma linha separada, sem os detalhes extras fornecidos por ls -l. Eu olhei ls --helpe não encontrei uma solução. Eu tentei fazer

ls -l | cut --fields=9 -d" "

mas lsnão usa um número fixo de espaços entre as colunas. Alguma ideia de como fazer isso, de preferência em uma linha?

Respostas:


259

ls -1

Esse é um número, não pequeno L.


5
vejo isso na documentação: cross -x, vírgulas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C Não sei como eles surgiram com alguns deles.
Alexander Taylor

23

ls -1. Da ajuda:

-1 lista um arquivo por linha

Funciona em cygwin e FreeBSD, então provavelmente não é muito específico do GNU.


Funciona no Ubuntu também. Obrigado
Yonatan Simson

12

solução sem tubulação :-)

 ls --format single-column

Note que as opções longas só são suportadas no GNU coreutils onde BSD ls só suporta os argumentos curtos-1


6

Possivelmente:

ls | awk '{print $NF}'

observação: um nome de arquivo com espaços como "maçãs e pêras.jpg" se transformará em "pêras.jpg"
oknate,

4

ls | cat ... ou possivelmente, ls -1


4
Por favor, evite o uso inútil de cat :)
jhwist

3
catnão é inútil neste caso. Ele formata a saída de lsem uma coluna como OP pede.
Felix Eve

3

Use o comando sed para listar colunas únicas

ls -l | sed 's/\(^[^0-9].\*[0-9]\*:[0-9]\*\) \(.*\)/\2/'

ls -lproduz a mesma saída de sua resposta inteira. Não tenho certeza do que sedestá adicionando aqui ...
Felix Eve

3

Experimente isto:

$ ls | xargs -n num

Aqui numestá o número de colunas que você deseja listar.


1

primeiro você pode usar isso. ele exibirá um arquivo por linha.

ls -l | sed 's /(.*) (. *) $ / \ 2 /'

ou então você pode usar assim

encontrar . -maxdepth 1 | sed 's /.///'

ambas as coisas são iguais.


Recebo o errosed: -e expression #1, char 16: invalid reference \2 on `s' command's RHS
Felix Eve


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.