Se eu grep um arquivo contendo o seguinte:
These are words
These are words
These are words
These are words
... para a palavra These
, imprimirá a sequência These are words
quatro vezes.
Como impedir que o grep imprima seqüências recorrentes mais de uma vez? Caso contrário, como posso manipular a saída do grep para remover linhas duplicadas?
command-line
bash
grep
Trae
fonte
fonte
Respostas:
A filosofia do Unix é ter ferramentas que fazem uma coisa e as fazem bem. Nesse caso,
grep
é a ferramenta que seleciona texto de um arquivo. Para descobrir se há duplicatas, classifique o texto. Para remover as duplicatas, use a-u
opção parasort
. Portanto:sort
tem muitas opções: vejaman sort
. Se você deseja contar duplicados ou possuir um esquema mais complicado para determinar o que é ou não duplicado, canalize a saída de classificação parauniq
:grep These filename | sort | uniq
e vejaman
uniq` para obter opções.fonte
Usando
grep
e uma opção adicional, se você estiver procurando apenas uma única sequênciaA partir de
man grep
ou usando
awk
;)fonte