tar-Befehl - So extrahieren Sie eine Datei in ein bestimmtes Verzeichnis
10811
ring bearer
Gibt es eine Möglichkeit, eine einzelne Datei aus einer TAR-Datei in ein bestimmtes Verzeichnis zu extrahieren? In der Tat beschäftige ich mich mit einer .tgzDatei, also versuche ich so etwas:
gunzip -c mytargzfile.tgz | tar xvf - path/to/myfile -C /tmp
Um einen Dateieintrag path/to/myfilein mytargzfile.tgzdas /tmpVerzeichnis zu extrahieren .
Dieser Befehl schlägt jedoch fehl, da sich tar beschwert, dass er die Datei mit dem Namen -Cund /tmpim Archiv nicht finden kann . Ich habe -Cvorher versucht, die Option zu wechseln, xvfund es hat auch nicht geholfen.
Beachten Sie, dass ich AIX und KSH verwende
Kannst du nicht einfach die -z-Datei auf tar verwenden und den Gunzip-Schritt überspringen? -z weist tar an, es als komprimiertes Archiv zu behandeln. Sie hätten also "tar -xzvf mytargzfile.tgz -T path / to / myfile / tmp"
peelman vor 14 Jahren
0
Die unter AIX standardmäßige Version von tar verfügt nicht über die Option -z.
ring bearer vor 14 Jahren
0
2 Antworten auf die Frage
1
RedGrittyBrick
Ich denke, dass die C-Option für tar früher im Befehl vorkommen sollte
tar -cvf - -C /tmp path/to.myfile
Ich könnte mir vorstellen, dass Sie GNU tar herunterladen, kompilieren und in Ihr ~ / bin installieren könnten, was die Sache ein bisschen einfacher machen könnte .
Außerdem müssen Sie "-c" verwenden, um die Standardmodusoptionen zu verwenden. Mit "c" wird die Befehlszeile im BSD-Modus analysiert, der "-C" nicht unterstützt.
Gilles vor 14 Jahren
0
1
Karl Bielefeldt
Dieser Befehl funktionierte gut für mich, wie Sie sagten, Sie mit dem versuchten -Czuerst: tar -C /tmp -xvf. Vielleicht ist es ein Fehler in Ihrer Teer-Version?
Ein bisschen klobig, aber es gibt immer:
cd /tmp gunzip -c /path/to/mytargzfile.tgz | tar xvf - path/to/myfile
Ich empfehle, GNU tar für sich selbst zu installieren. Es lohnt sich nur für die Optionen -jund -zwenn nichts anderes, und es ist eines der ersten Dinge, die ich immer in einem neuen Unix-Konto mache.