
У меня есть архив tar, и мне нужно извлечь содержимое одного каталога в другой каталог.
Так, например, содержимое может быть расположено в , /home/me/stuff/
и все в stuff
папке должно быть извлечено в /extract
. Таким образом, после завершения извлечения все, что было в архивированной /home/me/stuff/
папке, теперь находится в /extract
папке.
Мысли?
решение1
Если я правильно понял, то, судя по всему, с помощью GNU tar это можно сделать следующим образом:
tar --extract --file in.tar --directory /extract /home/me/stuff --strip 3
Моделирование с использованием архива, имеющего следующее содержимое:
$ tar tf in.tar
home/
home/me/
home/me/stuff/
home/me/stuff/b
home/me/stuff/a
home/foo
И выходной каталог /tmp/extract
(который необходимо создать заранее) мы получаем:
$ find /tmp/extract
/tmp/extract
/tmp/extract/b
/tmp/extract/a
Обратите внимание, что файл foo
вообще не был извлечен.