
Uma ferramenta para adicionar novas linhas a arquivos, ignorando duplicatas.
Anexa linhas da entrada padrão (stdin) a um arquivo, mas somente se elas ainda não estiverem presentes no arquivo.
Também envia novas linhas para stdout, tornando-o um pouco como um tee -a que remove duplicatas.
Aqui, um arquivo chamado things.txt contém uma lista de números. newthings.txt contém uma segunda
lista de números, alguns dos quais aparecem em things.txt e outros não. anew é usado
para anexar estes últimos a things.txt.
▶ cat things.txt
Zero
One
Two
▶ cat newthings.txt
One
Two
Three
Four
▶ cat newthings.txt | anew things.txt
Three
Four
▶ cat things.txt
Zero
One
Two
Three
Four
Observe que as novas linhas adicionadas a things.txt também são enviadas para stdout, o que permite que elas
sejam redirecionadas para outro arquivo:
▶ cat newthings.txt | anew things.txt > added-lines.txt
▶ cat added-lines.txt
Three
Four
-d.-q.Você pode instalar usando go:
go install -v github.com/tomnomnom/anew@latest
Ou baixar uma versão binária para sua plataforma.