Enquanto você receberá uma resposta aqui, você deve dar uma olhada em homem grep (pode ser esmagadora) e alguns exemplos . Por enquanto, aqui vai a resposta:
Usando grep
grep "foobar" test.txt
pesquisará linhas com a palavra foobar no arquivo test.txt e exibirá todas as ocorrências,
grep "foo" -v "bar" test.txt
pesquisará linhas com a palavra foo , mas não bar . Recebemos isso por causa do -v switch para o qual o manpage explica:
-v, --invert-match
Invert the sense of matching, to select non-matching lines.
(-v is specified by POSIX .)
Significa simplesmente que ele irá procurar por linhas com essas palavras (aqui bar ), mas irá excluí-las na exibição final. Assim, invertendo a pesquisa .
Além disso, para contar o número de linhas que correspondem à pesquisa, use o interruptor -c :
-c, --count
Suppress normal output; instead print a count of matching lines
for each input file. With the -v, --invert-match option (see below),
count non-matching lines. (-c is specified by POSIX .)
Como se exercitar, experimente as pesquisas grep no arquivo foobar .
A resposta
Pesquise AB+CD ignorando nonAB e nonCD e conte os URLs:
grep "AB+CD" test | grep -cve "non"
em que -v "non" simplesmente ignorará os nonAB e nonCD , pois ambos têm non neles. E -c dará contagem total para as correspondências em vez de imprimi-las. Para imprimir linhas de correspondência, ignore apenas -c .
Você pode usá-lo para invertidos separados:
grep "AB+CD" test | grep -cve "nonAB\|nonCD"
em que \| representa OR e significa% da palavra nonAB ou nonCD exata especificada pela opção -e .
Aconselhamos você a ver a resposta de Kamil , ler manpages (você sabe o comando) o máximo que puder, tentar com afinco enquanto procura coisas online & servir a comunidade. Sinta-se à vontade para adicionar mais detalhes para responder.