Ich habe zwei Textdateien:
erste Textdatei:
Hello
Hi
Hola
Bonjour
Zweite Textdatei:
Hi
Bonjour
Wie kann ich die Unterschiede zwischen ihnen unabhängig von der Zeilennummer ausgeben, d. h. ich möchte die Ausgabe speichern, die ist
Hello
Hola
In eine neue Textdatei
Antwort1
Es ist nicht klar, was „die Unterschiede“ bedeuten, aber hier ist etwas, das Ihren gegebenen Eingaben und Ausgaben entspricht:
$ cat >1
Hello
Hi
Hola
Bonjour
$ cat >2
Hi
Bonjour
$ diff --old-line-format='' <(sort 1) <(sort 2) >new
$ cat new
Hi
Bonjour
Antwort2
So geben Sie ganze Zeilen aus, die in der ersten Datei, aber nicht in der zweiten vorhanden sind:
grep -vxFf second first
Alternativ können Sie die Dateien sortieren und dann Folgendes verwenden comm
:
comm -23 <(sort first) <(sort second)
Antwort3
Dieses Problem kann durch die Verwendung des Befehls awk gelöst werden:
awk 'NR==FNR{uu[$1]=1}NR!=FNR&&uu[$1]!=1{print}' second first