
Ich habe drei Dateitypen vom Typ *.pages
, *.key
und *.numbers
.
- Unbeschädigte Dateien:alles ok.
- Beschädigte Dateien vom Typ I:Wobei das entsprechende Programm zwar den Text darstellen kann, jedoch sämtliche Bilder verloren gehen.
- Beschädigte Dateien Typ II:Wobei das entsprechende Programm die Dateien nicht mehr öffnen kann.
Ich möchte zwei .txt
Dateien erstellen, eine mit dem Pfad aller Dateien mit Beschädigungen des Typs I und eine mit dem Pfad aller Dateien mit Beschädigungen des Typs II.
Ich habe diesen Befehl gefunden find
, der mir eine Datei bereitstelltTyp-II.txtmit dem vollständigen Pfad der Dateien mit Beschädigungen des Typs II:
find . \( -name "*.pages" -or -name "*.numbers" -or -name "*.key" \) -and -size 102c > type-II.txt
Und ich bin auf diesen anderen Befehl gestoßen, find
der mir eine Datei bereitstelltTyp-I-und-II.txtmit dem vollständigen Pfad von Dateien mit Beschädigungen vom Typ I und Typ II
find . -type f -name "Properties.plist" > type-I-and-II.txt
Welcher Befehl muss im Terminal verwendet werden, um eine Datei bereitzustellen?Typ-I.txtNur den Pfad beschädigter Dateien vom Typ I auflisten?
Antwort1
Eine Datei imTyp-II.txtAuflistung ist ein Pfad und Dateiname, zum Beispiel ./document.pages
. Wenn die gleiche Datei in derTyp-I-und-II.txtIn der Auflistung ist es aufgeführt als ./document.pages/Metadata/Properties.plist
.
Mit diesem Befehl erstellen SieTyp-I.txtdas Dateien auflistet inTyp-I-und-II.txtdie nicht aufgeführt sind inTyp-II.txt:
sed 's|/Metadata/Properties.plist$||' type-I-and-II.txt | sort - type-II.txt | uniq -u > type-I.txt
Der sed
Befehl entfernt "/Metadata/Properties.plist" aus den Dateinamen in derTyp-I-und-II.txtAuflistung. Die Ausgabe des sed
Befehls wird an den sort
Befehl übergeben. Der sort
Befehl kombiniert beide Dateien zu einer sortierten Liste. Der uniq
Befehl wählt nur die Dateien aus, die einmal in der sortierten Liste vorkommen, d. h. Dateien, die inTyp-I-und-II.txtaber nicht inTyp-II.txt.