Я думаю, что опция C для tar должна появляться раньше в команде
tar -cvf - -C /tmp path/to.myfile
Я полагаю, что вы можете скачать, скомпилировать и установить GNU tar в ваш ~ / bin, что может немного облегчить задачу.
Есть ли способ извлечь один файл из файла 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
Я думаю, что опция C для tar должна появляться раньше в команде
tar -cvf - -C /tmp path/to.myfile
Я полагаю, что вы можете скачать, скомпилировать и установить GNU tar в ваш ~ / bin, что может немного облегчить задачу.
Эта команда работает для меня хорошо, как вы сказали, что вы пытались с -C
первым: tar -C /tmp -xvf
. Может быть, это ошибка в вашей версии tar?
Немного неуклюже, но всегда есть
cd /tmp gunzip -c /path/to/mytargzfile.tgz | tar xvf - path/to/myfile
Я рекомендую установить GNU tar для себя. Это стоит только для опций -j
и -z
, если не сказать больше, и это одна из первых вещей, которые я всегда делаю в новой учетной записи Unix.