Как программно добавить файлы в существующий файл tar - PullRequest
3 голосов
/ 15 июня 2011

У меня есть один процесс, который создает tar на основе некоторых существующих файлов, затем я хочу, чтобы другой процесс взял этот файл tar и добавил к нему БОЛЬШЕ файлов.

Как это делается программно?

1 Ответ

3 голосов
/ 15 июня 2011

В tarfile нет папок как таковых. Каждый файл может иметь путь, поэтому файл может содержать

/some/path/foo
/some/path/bar
/another/path/baz

Если у вас есть файл /elsewhere/quartz, который вы хотите добавить в файл как /some/path/quartz, он сделает это:

tar -rvf tarfilename --transform 's,.*/,/some/path/,' /elsewhere/quartz

(Это будет работать в GNU tar, я не могу давать обещания о других версиях.)

Содержимое внутри одинарных кавычек - это команда подстановки регулярного выражения, грубо говоря, «взять все до косой черты (насколько это возможно) и заменить ее на /some/path/».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...