2011-01-06 8 views
0

i nach unten genannten 23 TAR-Dateien zu extrahieren versuchen und zu entschlüsseln:Split-TAR-Dateien auf Linux extrahierte, müssen die separat entschlüsselt werden

dev_flash_000.tar.aa.2010_07_29_170013 

sind 23 von ihnen gibt, und jedes Bedürfnis mit einer App namens dePKG entschlüsselt werden, bevor es extrahiert wird.

ich versuchte, diesen Bash-Skript:

for i in `ls dev_flash*`; do ./depkg $i $i.tar ; tar -xvf ./$i.tar ; rm $i.tar; done 

und diesen Fehler für alle 23 Dateien erhalten:

mit 0x800 Bytes Pkg
PKG-Daten @ 340 Größe aufgeblasen lesen 3ec
nicht , Schreiben 1004 Byte
tar: Dies sieht nicht wie ein tar-Archiv
tar: Überspringen zum nächsten Header
tar: mit Fehlerstatus verlassen aufgrund früherer Fehler

Ich möchte nur um Zeit sparen: D

+0

können Sie von Hand entschlüsseln und extrahieren? – Tanj

Antwort

0

Sie sollten nicht ls in einem `` Kontext verwenden - siehe http://porkmail.org/era/unix/award.html#ls. FWIW:

for i in dev_flash*`; do 
    ./depkg "$i" -; 
done | tar -xv; 

Fragen Sie Ihren depkg Manpages, wie es Ausgabe an stdout zu machen, oder wenn es nicht, nicht /dev/stdout als Datei verwenden. Dies spart nicht nur die Provisorien, sondern das Ausführen eines einzelnen tar-Befehls bei der Verkettung der entschlüsselten Inhalte funktioniert auch richtig, wenn das ursprüngliche Archiv an beliebigen Positionen aufgeteilt wurde.