Bash tar файл приложения - PullRequest
1 голос
/ 14 апреля 2011

Как добавить файл в tar, например, файл находится в /usr/file.txt?

Я хочу добавить его в tar к var/file.txt, чтобы в будущем извлечь его в [tar location]/var/file.txt вместо [tar location]/usr/file.txt, используя

tar --append --file foo.tar bar

Можно ли поместить файл в tar таким образом, не заменяя /usr/file.txt на /var/file.txt перед архивированием?

Ответы [ 2 ]

2 голосов
/ 14 апреля 2011

Если вы используете GNU tar, для этого есть опция --transform, которая принимает в качестве аргумента sed-подобное выражение:

tar --append --file foo.tar --transform='s,^usr/,var/,' /usr/file.txt
0 голосов
/ 14 апреля 2011

Я могу думать только о том, чтобы использовать символическую ссылку var/file.txt -> /usr/file.txt.

mkdir var && ln -s /usr/file.txt var
tar --dereference --append --file foo.tar var
...