lista arquivos ou dirs começando com 'jre'

1

Eu preciso listar arquivos e diretórios com nomes começando com jre (letras maiúsculas e minúsculas são permitidas).

Quando executo:

ls | grep jre

... usa apenas letras maiúsculas baixas e dá saída com jre não apenas na posição inicial. Na verdade, eu sinto que o grep não é uma boa escolha neste caso.

Como resolver meu problema?

    
por vico 28.08.2015 / 11:09

2 respostas

1

você pode usar find . No seu caso, você pode correr

find -maxdepth 1 -iname 'jre*'

Explicação:

find procura arquivos / diretórios com os parâmetros fornecidos: -maxdepth 1 restringe a pesquisa ao diretório atual. Caso contrário, ele também procuraria em todos os subdiretórios. -iname aceita o padrão e procura insensitivo no caso. O próprio padrão 'jre*' significa que a string deve começar com "jre" e continuar com um número arbitrário de caracteres.

Como alternativa, se você quiser usar grep :

ls | grep -i '^jre'

-i alterna a pesquisa sem distinção entre maiúsculas e minúsculas e ^ resulta em encontrar apenas correspondências com "jre" no início

    
por Wayne_Yux 28.08.2015 / 11:22
0

Encontrar deve fazer o truque:

find . -iname 'jre*'
    
por Jakob Lenfers 28.08.2015 / 11:21