Ich versuche ein Skript zu erstellen, um nur JPEG-Bilder aus einem Archiv zu extrahieren, das viele Arten von Dateien enthält.
Dazu habe ich versucht:
tar -xf MyTar.tar *.jpg
aber es ist fehlgeschlagen (* .jpg nicht gefunden) und ich sollte "--wildcard" verwenden. Also habe ich es versucht
tar -xf MyTar.tar --wildcard *.jpg
Ich habe das getan, aber dann der gleiche Fehler und eine andere Warnung, die mir sagt, dass die Option "--wildcard" nicht eindeutig ist.
Ich habe die Manpages für Teer durchgesehen, aber keinen Hinweis auf das Problem gefunden.
tar --version
Antworten:
Am Ende fand ich dann nach einer guten Pause eine Antwort. Die Option ist Platzhalter s , Plural ...
Also der Befehl
tat genau das, was ich brauchte.
quelle
Setzen Sie solche Anführungszeichen um den Platzhalter,
"*.jpg"
damit die Shell nicht versucht, ihn zu erweitern, sondern ihn direkt an tar weiterleitet. Sie möchten, dass tar den Platzhalter auswertet, nicht die Shell, und die Anführungszeichen tun dies.quelle
Für einige ältere Versionen von tar wird Folgendes aus der "man" -Datei extrahiert :
quelle