Dateinamen mit Liste vergleichen

Gast #2065945
Lesenswert?

Ich habe eine Liste mit Dateinamen, und ein Verzeichnis mit Dateien.
Diese beiden sollen in Übereinstimmung gebracht werden, d.h. ich will 
wissen, welche Einträge in der Liste tatsächlich als Datei im 
Verzeichnis vorhanden sind, welche nicht, und welche im Verzeichnis 
vorhanden sind, aber nicht in der Liste.
Zur Steigerung des Schwierigkeitsgrades sind die Namen nicht unbedingt 
exakt, sondern können teils übereinstimmen.

Gibt es für sowas schon etwas Fertiges?
Gast #2066304
Lesenswert?

Sven P. schrieb:
> 'ls -1' für das Listing, ggf. mit 'sort' sortieren, dann mit 'diff'
> vergleichen.

"ls -l" ist schonmal schlecht, das vergleicht dann auch noch Besitzer, 
Rechte, Datum, Größe usw.

Und:

8AF6lUf8OT schrieb:
> ... sind die Namen nicht unbedingt
> exakt, sondern können teils übereinstimmen.

deswegen ist "sort" und "diff" auch nicht wirklich dafür zu brauchen.
Gast #2066357
Lesenswert?

c♯-Hasser schrieb:
> Sven P. schrieb:
>> 'ls -1' für das Listing, ggf. mit 'sort' sortieren, dann mit 'diff'
>> vergleichen.
>
> "ls -l" ist schonmal schlecht, das vergleicht dann auch noch Besitzer,
> Rechte, Datum, Größe usw.
Lies bitte nochmal.

Darüber ist das Unix-diff dafür ziemlich ideal, da es Unterschiede 
zwischen Dateien ermittelt. Daher erkennt man (nach Sortierung) recht 
schön, welche Dateinamen sich ähneln.
Gast #2069899
Lesenswert?

Doch, da funktioniert diff ganz ausgezeichnet. Wenn die Namen sortiert 
sind, werden eben alle Zeilen der ersten Datei, die in der zweiten Datei 
fehlen, als Unterschied ermittelt, bis wieder Zeilen übereinstimmen.

Je nach Variante des diff-Programms funktioniert das unterschiedlich 
gut.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren