Es gibt zwei Verzeichnisse, die ich vergleichen möchte. Ich habe diff ausprobiert, aber es enthält die Änderungen in den Dateien. Alles was ich will ist so etwas
file a is just in /A
file b is missing in /A
file c changed
directory d is missing in /A
directory e is just in /A
Ich denke, dass dies beim vollständigen Patchen von Dateien häufig vorkommt, aber ich kenne keine gute Lösung.
Um Duplikate zu finden, verwenden Sie eine:
Obwohl die anderen Ihnen zahlreiche gute Tipps gegeben haben, sollten Sie es auch versuchen.
Wenn du benutzt
Sie werden gefragt, welche Datei aufbewahrt werden soll (die anderen werden gelöscht). Sehr nützlich zum Entfernen von Duplikaten (ich habe es mit meinen Fotos gut genutzt)
HINWEIS: Ja, ich weiß, dass die Frage nicht genau das war, aber vielleicht kann sie ihm oder anderen helfen;)
quelle
Wenn Sie Dateien anhand der Größe vergleichen möchten, können Sie Folgendes tun:
und dann:
um herauszufinden, welche Dateien unterschiedlich sind oder fehlen. Ich habe dies verwendet, als ich zwei Verzeichnisse mit sehr großen Dateien vergleichen musste, um festzustellen, welche Dateien nicht vollständig heruntergeladen wurden.
quelle
Sie könnten einen Unterschied versuchen von
ls
:Kein einziger Befehl, aber es sollte funktionieren.
quelle
diff -q dir1 dir2
sind viel besser als meine!Die klassische Antwort ist der Befehl 'dircmp'. Es hat seine Warzen (z. B. die Ausgabe durch 'pr' leiten, um sie zu paginieren), aber wenn Sie eine Liste von Objekten nur in Verzeichnis eins oder Verzeichnis zwei erhalten würden, und dann für die allgemeinen Dateien, meldet es 'dasselbe' oder 'different' (und der Dateityp für Nicht-Dateien - Verzeichnisse usw.).
Das 'diff -rq' sieht gleichwertig oder besser aus als die Ausgabe von 'dircmp'.
quelle
Ich habe eine ähnliche Frage zu Stack Overflow gestellt , und die Antworten, die ich erhalten habe, könnten für Sie von Interesse sein. Ich war besonders daran interessiert, fehlende Dateien beim Vergleich zweier Verzeichnisse zu finden.
Ich habe auch angegeben, dass die Lösung umbenannte Dateien behandeln soll (z. B. wenn Datei A, die sich in Verzeichnis 1 befand, auch in Verzeichnis 2 vorhanden ist, aber umbenannt wurde, sollte das Skript dies berücksichtigen).
Die Antwort, die ich gewählt habe (sie steht oben), ist sehr nützlich. Als Ausgangspunkt für Ihr Skript ist es möglicherweise einen Blick wert.
quelle