Tentando aprender regex, para encontrar arquivos de um certo tamanho?

0

Eu tenho um arquivo que tem uma lista de países de vários tamanhos. Este arquivo é chamado de countries e está no meu diretório de trabalho.

Eu quero executar o comando grep que informa quais países têm nove ou mais letras.

Estou com dificuldades para corrigir a sintaxe no momento.

Estou olhando para as linhas de:

grep '^.\{9\}' countries

Tentou o que precede e parecia não fazer nada?

    
por user278930 03.10.2018 / 10:19

2 respostas

1

Isso funcionou para mim; retornará todas as palavras com nove ou mais caracteres (incluindo espaços).

grep -oh '.\{9,\}' countries

Atualize depois de ler sua pergunta novamente; corresponde apenas às cartas desta vez. Então, se você precisa de um nome de país com nove ou mais letras contíguas, esta é minha sugestão.

grep -ioh '[a-z]\{9,\}' countries

Isso não corresponderia a algo como "Alemanha Ocidental". Depende se você considerar o nome do país neste exemplo como 11 ou 12. No entanto, o 'comprimento' é igual ou maior que nove (9).

    
por 03.10.2018 / 10:39
0

Está faltando um "," (vírgula) para dizer 9 ou mais caracteres:

grep '^.\{9,\}' countries
    
por 03.10.2018 / 11:58