Чтобы вытащить ваш файл из вашего архива, вы можете использовать tar xzf archive.tar.gz my/path/to/file.txt
. Обратите внимание, что каталоги в пути к файлу также будут созданы. Используйте tar t
(т.е. tar tzf archive.tar.gz
), чтобы перечислить файлы в архиве.
tar
не поддерживает обновление файлов на месте. Однако вы можете добавить файлы в конец архива, даже если они имеют тот же путь, что и файл, уже находящийся в архиве. В этом случае обе копии файла будут находиться в архиве, а файл, добавленный позже, переопределит предыдущую. Команда, которую нужно использовать для этого tar r
(или tar u
только для добавления файлов, которые новее, чем архив), это команда для использования. На .
пути не должно быть проблем.
Однако есть одна загвоздка: вы не можете добавить в сжатый архив. Так что вы должны сделать:
gunzip archive.tar.gz
tar rf archive.tar data/data/com.myapp.backup/./files/settings.txt
gzip archive.tar
Что, вероятно, не то, что вы хотите услышать, поскольку это означает переписывание всего архива дважды. Если это не очень большой архив, возможно, лучше распаковать его целиком, а затем заново отредактировать после редактирования. Кроме того, вы можете использовать несжатый архив.
.DS_Store
и затем повторно скопировать каталог.