Como posso impedir que o ls desça em diretórios, semelhante ao podar para encontrar?


12

Se eu digitar ls *ro*, também recebo arquivos em subdiretórios que correspondem ao *ro*padrão.
Existe alguma opção para ls semelhante à poda?

Idealmente, uma bandeira, caso contrário, talvez um executivo?

Respostas:


25

Use o -dinterruptor:

ls -d *ro*

.....


Escrevi um script que obtém os bits de acesso à pasta (convertidos para notação 755 ou 644), data e hora modificadas e nome da pasta e envia as informações por mensagem de texto. Eu precisava que isso tivesse <140 caracteres. Isso ajudou, obrigado.
user208145

4

Você poderia usar:

ls | grep ro

Para realizar a tarefa. Canalize a saída lscuja saída apenas o conteúdo do diretório atual grepe para a saída seletiva dos arquivos que correspondem ao padrão regex.


-1 Como o grep saberia se a correspondência de padrões estava no diretório ou em um subdiretório?
22412 Michael Durrant

Além disso, ele realmente não retorna nada. Tente.
Michael Durrant

1
Por padrão, ls gera apenas o conteúdo do diretório atual. Portanto, passar essa saída para grep retorna apenas os dados que correspondem ao regex especificado. Eu tentei o comando fornecido no meu sistema Arch e ele funciona perfeitamente.
24512 darnir

Como o grep usa uma regex como entrada, não adicione os asteriscos em torno de ro. Como mencionei, basta executar o grep ro. Este é um truque grosseiro quando comparado à resposta do manatwork, mas funciona perfeitamente bem.
30512 darnir

No entanto, se você tiver um número absurdo de arquivos, as respostas exageradas da manatwork podem atingir o limite do comprimento da linha de comando. Isso não vai.
Izkata 24/07/12
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.