3

Есть ли способ извлечь один файл из файла tar в определенный каталог? На самом деле, я имею дело с файлом .tgz поэтому я пытаюсь что-то вроде этого:

gunzip -c mytargzfile.tgz | tar xvf - path/to/myfile -C /tmp

Для извлечения записи файла с именем path/to/myfile в mytargzfile.tgz в каталог /tmp .

Но эта команда не выполняется, так как tar жалуется, что не может найти в архиве файлы с именами -C и /tmp . Я пробовал переключать опцию -C до xvf и это тоже не помогло.

Обратите внимание, что я использую AIX и KSH

2 ответа2

1

Я думаю, что опция C для tar должна появляться раньше в команде

tar -cvf - -C /tmp path/to.myfile

Я полагаю, что вы можете скачать, скомпилировать и установить GNU tar в ваш ~/bin, что может немного облегчить задачу.

1

Эта команда отлично сработала для меня, как вы сказали, что сначала пробовали с -C : tar -C /tmp -xvf . Может быть, это ошибка в вашей версии tar?

Немного неуклюже, но всегда есть

cd /tmp
gunzip -c /path/to/mytargzfile.tgz | tar xvf - path/to/myfile

Я рекомендую установить GNU tar для себя. Оно того стоит только для параметров -j и -z , если ничего больше, и это одна из первых вещей, которые я всегда делаю в новой учетной записи Unix.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .