Vergleichen von text Dateien, und löschen Duplikate (Linux-terminal-Befehle)

Angenommen ich habe zwei Verzeichnisse namens dir_one und dir_two. In jedem dieser Verzeichnisse habe ich eine text-Datei mit dem Namen data.txt. In anderen Worten, es sind zwei Dateien in zwei separate Verzeichnisse: /dir_one/data.txt und /dir_one/data.txt Trotz der ähnlichen Datei-Namen, die zwei text-Dateien, die möglicherweise oder möglicherweise nicht den gleichen Inhalt!

Was ich zu tun versuche, ist dies:

  1. Vergleichen Sie den Inhalt von text-Dateien: ./dir_one/data.txt und ./dir_one/data.txt
  2. Wenn die Inhalte identisch sind, löschen Sie eines der text-Dateien.

Ich eingegeben haben, müssen Sie den folgenden Befehl in terminal:

diff -qrs ./dir_one/data.txt ./dir_two/data.txt

und ich bekomme die folgende Meldung:

Files ./dir_one/data.txt ./dir_two/data.txt are identical.

Nun, dass ich weiß, dass die zwei Dateien sind identisch, ich kann die rm Befehl zum entfernen einer von Ihnen. So weit, So gut. Allerdings...

Das problem ist, dass möchte ich automatisieren, um den Löschvorgang. Ich will nicht zu haben, um den rm auf der Kommandozeile. Gibt es überhaupt eine Möglichkeit, dies zu tun - in ein Skript, zum Beispiel?

Ich würde auch gerne wissen, wie man vergleichen einer großen Menge von text-Dateien in einem Verzeichnis gegen eine große Menge von text-Dateien in einem anderen Verzeichnis. Nochmal für alle Dateien identisch sein, eines der Duplikate gelöscht werden sollen. Ist dies auch möglich?

Ich gefunden habe, die ähnliche Fragen, aber keine über die Automatisierung der Löschung der doppelten Dateien. Beachten Sie, dass ich mit ubuntu 12.04.

InformationsquelleAutor Graeme Walsh | 2013-08-27
Schreibe einen Kommentar