grep -o -f erro de expressão regular inválido

0

Estou tentando contar o número de palavras em um arquivo enorme com base em uma lista de palavras fornecidas por outro arquivo.

grep -F -f matchingwords.txt bigfile.txt funciona. Mas preciso da contagem para cada palavra em matchingwords.txt .

Eu tentei grep -o -f matchingwords.txt bigfile.txt , ele emitiu um erro Erro de expressão regular inválido

while read line; do grep -o "$line" bigfile.txt; done < matchingwords.txt > output.txt

Mas não tenho certeza de como obter a contagem acima

    
por user289489 06.05.2018 / 00:06

1 resposta

2

Você tentou -o com -F ? Parece que, do contrário, há algo em matchingwords.txt que é interpretado como um regex malformado ... e não parece que sua intenção é usar regexes.

Então, supondo que você entendeu isso aqui, é uma maneira de contar as ocorrências de correspondências para cada uma das palavras:

grep -F -o -f matchingwords.txt bigfile.txt | sort | uniq --count

Você terá algo ao longo destas linhas:

 5 apple
12 banana
 9 orange
    
por 06.05.2018 / 00:33

Tags