Извлечение файла из каталога внутри файла tar без создания этого каталога

У меня есть tarfile, который имеет следующую структуру:

- dir1 -- file - dir2 - dir3 

Если я попытаюсь запустить tar -xf tarfile.tar.gz dir1/file , будет создан tar -xf tarfile.tar.gz dir1/file dir1, содержащий файл. Я хотел бы вместо этого просто получить файл без каталога между ними. Я мог бы переместить файл и удалить каталог, но мне было интересно, поддерживает ли команда tar только для этого.

Я использую Alpine Linux.

2 Solutions collect form web for “Извлечение файла из каталога внутри файла tar без создания этого каталога”

POSIXly (кроме части gunzip которая не является командой POSIX):

 gunzip < file.tar.gz | pax -rs'|.*/||' dir1/file1 

С помощью bsdtar :

 tar -s'|.*/||' -xf file.tar.gz dir1/file1 

С GNU tar :

 tar --transform='s|.*/||' -xf file.tar.gz dir1/file1 

С star :

 star -s '|*/||' -x -f file.tar.gz dir1/file1 

Обратите внимание, что для некоторых из них, если файл является символической ссылкой, подстановка также влияет на цель символической ссылки.

Вы можете извлечь в stdout (-O) и передать его в желаемое имя файла.

  • Извлеките данный tarball и верните его точно
  • tar + rsync + untar. Любое преимущество по скорости только за rsync?
  • Как деформировать, расколоть, труба, распаковать по ssh
  • Почему mutt не удается отправить электронное письмо с некоторым вложением файла tgz?
  • diff gzipped tarball против каталога?
  • tar-эквивалент zip -o (-latest-time)?
  • Будет ли tar -cvzf packed.tar.gz mydir учитывать скрытые файлы?
  • распаковать / распаковать файлы с помощью Curl на ftp-сервере
  • Как перенаправить tar распакованные файлы в конкретный каталог без создания подпапки?
  • Дисковый раздел опустошен во время резервного копирования tar
  • Extrat tar "Не удается открыть: имя файла слишком длинное"
  • wget загружает tar.gz файл как html?
  • Interesting Posts

    Почему мой хост-компьютер не может подключиться к моей виртуальной гостевой машине по протоколу HTTP?

    vmware debian sid gnome mouse не работает клавиатура в порядке

    Как я могу получить коэффициент разницы с помощью «diff» или другой команды?

    Разрешить пересылку IP-пакетов из локальной сети в модем через маршрутизатор

    Как получить последний файл из списка файлов в определенном каталоге

    Как восстановить рекурсивный «chmod -x» в моей домашней папке

    Правило Polkit для файлов блока шаблонов systemd

    Nginx Owncloud 4 производит «Нет указанного входного файла».

    Могу ли я деактивировать драйвер Broadcom, если у меня есть карта беспроводной сети Realtek?

    Firewalld порт по-прежнему открыт после удаления порта и служб

    Как настроить скорость вращения вентилятора NVIDIA GPU на безголовом узле?

    В настоящее время Tar читает файл 2GB, и я удалил его единственную ссылку. Как остановить его на вечность?

    Почему я даю неожиданный результат?

    Почему cd не является программой?

    Почему не удалось установить XFS после спасения, почему?

    Linux и Unix - лучшая ОС в мире.