Você pode catar ambos os arquivos (saída e arquivo1.txt) e depois encontrar as linhas uniq usando apenas uniq (sem switces) e finalmente gravar o resultado de volta no arquivo1.txt
Exemplo:
$ cat output.txt
Line1
$ cat file1.txt
Line1
Line3
Line4
$ echo "$(cat output.txt file1.txt |sort |uniq)" >file1.txt
$ cat file1.txt
Line1
Line3
Line4
Se você quiser que "Linha1" seja completamente removida e não seja mantida nem uma vez, use uniq -u.
$ echo "$(cat output.txt file1.txt |sort |uniq -u)" >file1.txt && cat file1.txt
Line3
Line4
Operação semelhante para o seu arquivo2.
PS: Você não pode escrever e escrever no mesmo arquivo em uma operação.
Você deve usar o truque echo $(...)
acima ou enviar a saída cat |uniq
para outro arquivo (arquivo temporário) e, em seguida, renomear tempfile para arquivo1 ( mv tempfile file1.txt
) ou cat tmpfile >file1.txt && rm tmpfile
.
Outra solução seria anexar output.txt ao arquivo1.txt ( cat output.txt >>file1.txt
) e usar sed -i
para remover as linhas duplicadas