Извлечение разделенных файлов .tar в Linux, которые нужно отдельно расшифровать - PullRequest
0 голосов
/ 06 января 2011

Я пытаюсь извлечь и расшифровать 23 файла .tar с именами, указанными ниже:

dev_flash_000.tar.aa.2010_07_29_170013

Их 23, и каждый из них необходимо расшифровать с помощью приложения dePKG, прежде чем он будет извлечен.

Я попробовал этот сценарий bash:

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

и получил эту ошибку для всех 23 файлов:

прочитал 0x800 байт pkg
pkg data @340 с размером 3ec
не завышены, запись 1004 байта
tar: это не похоже на архив tar
tar: переход к следующему заголовку
tar: выход из состояния ошибки из-за предыдущих ошибок

Я просто хочу сэкономить время: D

1 Ответ

0 голосов
/ 06 января 2011

Вы не должны использовать ls в `` контексте - см. http://porkmail.org/era/unix/award.html#ls. FWIW:

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

Посмотрите на страницах справочника depkg, как сделать так, чтобы он выводился на стандартный вывод, или, если нет, используйте /dev/stdout как файл. Это не только спасает вас от временных затрат, но и работает одна команда tar для объединения расшифрованного содержимого, а также работает правильно, когда исходный архив был разбит на произвольные позиции.

...