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?

Michael Durrant
fonte

Respostas:

25

Use o -dinterruptor:

ls -d *ro*

.....

homem a trabalhar
fonte
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.

darnir
fonte
-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