grep -rhi múltiplas cadeias de caracteres do arquivo

0

Ok, então eu sei que posso fazer

grep -rhI "string1" .

mas eu posso pegar strings de um arquivo .txt, então cada string está em uma nova linha, por exemplo

string1
string2
string3

como eu tenho muitas strings para processar usando

grep rhI "string1|string2|string3"

seria uma dor ..

    
por jake reading 06.01.2018 / 02:42

1 resposta

0

Coloque todas as strings em um arquivo como este:

$ cat strings
string1
string2
string3

E execute:

$ grep -rhIoFf strings 

Editar

Se não for exatamente string1 o que você precisa como saída (o efeito de -o) continue lendo

Converta a lista de strings em strings de arquivos (se eles não tiverem espaços ou novas linhas) em uma string separada por | :

filter=$(printf "%s|" $(cat strings))

Em seguida, use a string como filtro para grep:

grep -rhIE "${filter%?}"
    
por 06.01.2018 / 03:47

Tags