diff, aber ohne Reihenfolge der Zeilen
diff, aber ohne Reihenfolge der Zeilen
Ich möchte die Ausgabe von "lsmod" vergleichen, wie ich sie von zwei unterschiedlichen Kerneln der selben Installation erhalte. Dazu habe ich die Ausgabe von "lsmod" jeweils in eine Datei umgeleitet. Ein Vergleich mit "diff" klappt zwar. Aber lsmod scheint nicht zwingend die Module in der gleichen Reihenfolge zu listen. Und soweit ich das verstehe, und für Programmcode wäre das ja auch wichtig, ist für diff die Reihenfolge der Zeilen eben wichtig.
Nun die Frage : gibt es ein Programm, welches zwei Dateien untersucht, dabei gleiche Zeilen *unabhängig* von der Reihenfolge findet und dann unterdrückt, so dass nur Zeilen übrigbleiben, die nur jeweils in einer der Dateien vorkommen?
Oder kann mann diff dazu bewegen? In "man diff" habe ich nichts entsprechendes gefunden.
Nun die Frage : gibt es ein Programm, welches zwei Dateien untersucht, dabei gleiche Zeilen *unabhängig* von der Reihenfolge findet und dann unterdrückt, so dass nur Zeilen übrigbleiben, die nur jeweils in einer der Dateien vorkommen?
Oder kann mann diff dazu bewegen? In "man diff" habe ich nichts entsprechendes gefunden.
gruß
michaa7
-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)
michaa7
-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)
Re: diff, aber ohne Reihenfolge der Zeilen
vor diff einmal durch sort schieben
Re: diff, aber ohne Reihenfolge der Zeilen
Oder comm nehmen, was aber eine Sortierung voraussetzt. Die könnte man aber auch temporär einsetzen:
EDIT:
Alternativ (ohne Sortierung) wäre auch noch sowas möglich:
Code: Alles auswählen
comm -3 <(sort f1) <(sort f2)
Alternativ (ohne Sortierung) wäre auch noch sowas möglich:
Code: Alles auswählen
grep -Fvf f2 f1; grep -Fvf f1 f2
Re: diff, aber ohne Reihenfolge der Zeilen
Steht doch in der Doku
Dein Post ist überflüssig, alles steht der der Doku, das Forum ist dann auch überflüssig?
Re: diff, aber ohne Reihenfolge der Zeilen
So direkt wird man das in keiner Doku finden. Dazu muss man schon lsmod, sort und diff kennen und wissen, dass man mehrere Programme/-ausgaben durch eine Pipeline verbinden kann. Das wäre wahrscheinlich eine Transferleistung, wie sich das in Prüfungen meine ich immer genannt hat.
Auf sehr viele Beiträge könnte man ganz theoretisch definitiv verzichten, wenn jeder den notwendigen Kenntnisstand hätte und wüsste, wo man Dokumentationen findet und, wahrscheinlich wichtiger, wüsste, sich daraus selbst das nötige anzueignen. Da das sicher nicht der Fall ist, hat man hier die Möglichkeit, einen Anstoß zu bekommen. Komplett die Eigeninitiative abnehmen soll das Forum aber auf keinen Fall immer und überall – es antworten immer noch alle hier freiwillig und in Freizeit. (Letzteres ist ein Stück an dich gerichtet, nachdem ich gerade das parallele Thema zu GitHub-Forks gesehen habe.)
Manchmal bekannt als Just (another) Terminal Hacker.
Re: diff, aber ohne Reihenfolge der Zeilen
OT
@JTH
Hier ist alles freiwillig, wenn niemand antwortet, versuche ich nach bestem Gewissen meine Fragen selber zu beantworten.
Auf Schnackerantworten, wie Google mal oder RTF oder siehe Doku verzichte ich gerne.
Oder Du bist faul zu lesen.
Es sind unfreundliche Antworten, fühle ich mich gestört überlese ich es und gebe keine Blödantworten.
Es sind immer die gleichen die so agieren.
So ein Verhalten behindert die Community, andere trauen sich nicht zu fragen.
Die sollen froh sein, dass sie etwas lesen dürfen.
Geht es ans eingemachte wird es schnell still.
Beispiel: viewtopic.php?t=176958&hilit=netzwerkscanner
Dafür aber ca. 24.713 Zugriffe.
MfG
AxelMD
@JTH
Hier ist alles freiwillig, wenn niemand antwortet, versuche ich nach bestem Gewissen meine Fragen selber zu beantworten.
Auf Schnackerantworten, wie Google mal oder RTF oder siehe Doku verzichte ich gerne.
Oder Du bist faul zu lesen.
Es sind unfreundliche Antworten, fühle ich mich gestört überlese ich es und gebe keine Blödantworten.
Es sind immer die gleichen die so agieren.
So ein Verhalten behindert die Community, andere trauen sich nicht zu fragen.
Die sollen froh sein, dass sie etwas lesen dürfen.
Geht es ans eingemachte wird es schnell still.
Beispiel: viewtopic.php?t=176958&hilit=netzwerkscanner
Dafür aber ca. 24.713 Zugriffe.
MfG
AxelMD
Re: diff, aber ohne Reihenfolge der Zeilen
Das erinnert mich irgendwie an folgendes:
"Achtung, ein Geisterfahrer kommt Ihnen entgegen."
Was? Hunderte kommen mir entgegen!
Re: diff, aber ohne Reihenfolge der Zeilen
Danke für die Hilfe. Auf "sort" bin ich einfach nicht gekommen, und es war schon hilfreich hier die genaue syntax gepostet zu bekommen ... weil das das Gelegenheitsuser der CL nicht klar ist.
Habe beide varianten (diff + sort, comm + sort) ausprobiert, beide funktionieren. Fand die diff variante mit zwei nebeneinander stehenden Ausgaben am übersichtlichsten:
Habe beide varianten (diff + sort, comm + sort) ausprobiert, beide funktionieren. Fand die diff variante mit zwei nebeneinander stehenden Ausgaben am übersichtlichsten:
Code: Alles auswählen
diff --side-by-side --suppress-common-lines <(sort /home/<user>/lsmod17.txt) <(sort /home/<user>/lsmod16.txt)
gruß
michaa7
-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)
michaa7
-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)