LINUX.ORG.RU

Распаковать часть файлов в другой каталог

 


0

1

Есть затаренный образ (tar -cjPpf), надо его развернуть на других машинах
Один ньюанс - на новой машине немного поменялась структура ФС, так что примерно 5 из 200 файлов нужно распаковать в каталог, отличный от первоначального местонахождения.
Я конечно могу и руками потом всё перенести как надо, но из любви к прекрасному, всё же спрошу, есть ли вариант сделать это за один проход, средствами самого tar'а
Образно говоря нужно нечто вроде этого

tar -xf image.tar.bz2 file1 -C dir1 file2 -C dir2 <остальное распаковывать по дефолтному пути>

★★★★★

$ mkdir test ; cd test ; echo test...test...test | tee aaa bbb ; tar -cvjf test.tbz aaa bbb
test...test...test
aaa
bbb

$ ls -Rl
.:
total 12
-rw-r--r-- 1 leo leo  19 Oct 28 19:32 aaa
-rw-r--r-- 1 leo leo  19 Oct 28 19:32 bbb
-rw-r--r-- 1 leo leo 148 Oct 28 19:32 test.tbz

$ tar -xvf test.tbz --transform 's#aaa#111/aaa#' --transform 's#bbb#222/bbb#'
aaa
bbb

$ ls -Rl
.:
total 20
drwxr-xr-x 2 leo leo 4096 Oct 28 19:32 111
drwxr-xr-x 2 leo leo 4096 Oct 28 19:32 222
-rw-r--r-- 1 leo leo   19 Oct 28 19:32 aaa
-rw-r--r-- 1 leo leo   19 Oct 28 19:32 bbb
-rw-r--r-- 1 leo leo  148 Oct 28 19:32 test.tbz

./111:
total 4
-rw-r--r-- 1 leo leo 19 Oct 28 19:32 aaa

./222:
total 4
-rw-r--r-- 1 leo leo 19 Oct 28 19:32 bbb
Lavos ★★★★★
()
Ответ на: комментарий от Lavos

выглядит интересно, но у меня такого что-то нет
tar --version
tar (GNU tar) 1.15.1

есть что-то более олдскульное?

zolden ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.