Usando grep no shell script para procurar por string exata

0

Eu tenho um shell script que verifica se um nome foi adicionado a um arquivo de texto antes de executar essa parte do script. Se ele encontrar esse nome, ele ignorará essa seção do script.

Aqui está um exemplo do conflito:

Antilhas Holandesas

if ! grep "netherlands-antilles" uploaded.txt; then
    // Do some work here
    echo netherlands-antilles >> uploaded.txt
fi

Holanda

if ! grep "netherlands" uploaded.txt; then
    // Do some work here
    echo netherlands >> uploaded.txt
fi

Como o Netherlands Antillies já está no arquivo de texto, ele não executa a parte "Países Baixos" do script, o que eu realmente preciso dele.

Existe uma maneira de ter grep não apenas procurando parte da string? Não quero que uma pesquisa de netherlands corresponda a netherlands-antilles .

    
por Nic Hubbard 19.08.2016 / 17:40

1 resposta

2

Se essas entradas forem a única coisa na linha desse arquivo, você poderá usar uma expressão regular para incluir o início da linha e enf da linha:

if ! grep "^netherlands$" uploaded.txt; then
// Do some work here
echo netherlands >> uploaded.txt
fi
    
por 19.08.2016 / 17:48