Problem mit diff Befehl

L

likwitt

Jungspund
Hallo zusammen,
habe folgendes Problem.
Ich möchte zwei Listen (files) miteinander vergleichen.
In beiden Listen werden zeilenweise Namen gelistet.
Als bsp:
Liste 1
name_1
name_2
name 3 / 4
name#5

Liste 2
name_1
name_2
3#name
4#-name


Als Ergebniss soll eine Liste erstellt werden mit allen Namen die in Liste 1 vorhanden sind und nicht in Liste 2!
In diesem besp. wären das name 3 / 4 & name#5
Da die Namen Leerstellen und Sonderzeichen beinhalten können klappt das irgendwie nicht.
diff file1 file2 | grep '<' | sed -e "s#< ##g" > testergebnis
Wo ist der Fehler?
thx im vorraus
 
Hallo
Ich mach sowas immer mit grep

Code:
grep -v -fListe2 Liste1
Gibt alle Zeilen aus, die in Liste 1 aber nicht in Liste2 vorkommen

Gruß Wolfgang
 
klappt leider auch nicht.
bekomme zwar eine liste. Aber auch hier sind einzelne namen aus beiden listen vorhanden.
vermute das sonderzeichen und Leerzeichen stören?
 
Hallo
Matcht grep überhaupt auf Umlaute bei dir?
Welche Locale hast du gesetzt, und welche Coderung hat die Datei?

Perl ist da ewas unabhängiger:
Versuch es mal damit:
Gibt alles aus Datei1 aus, was in Datei2 nicht vorkommt.

Code:
perl -ne '$h{$_}.= @ARGV; END{for (sort keys %h) {print $_ if ($h{$_}=~/1$/)}}' Datei1 Datei2

Gruß Wolfgang
 
diff ausgabe

hallo zusammen,
bei mir funktioniert alles wie es soll, doch ist die ausgabe von diff sehr unleserlich.

Code:
diff -qr $source $target 1>&2

was mir nicht ganz klar ist, wie kann ich ein weiteres \n nach jeder ausgegeben zeile von diff einfügen?

danke und grüße,
simon
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

sed oder?

Ich komm nicht drauf....
Könnte mir bitte jemand Feedback geben wie ich die Rückgabewerte von diff leserlich formatieren kann? Ein weiterer Linebreak wäre ideal!
 
Zuletzt bearbeitet:

Ähnliche Themen

Keine grafische Oberfläche (Debian Installation)

Bash - Zwei Binärdateien vergleichen (SQL Diff)

wie Alte Kernelversionen unter Debian entfernen

if schleife etc

Gnome Classic Desktop: Home-Inhalt Icons ausblenden

Zurück
Oben