Чтобы вытащить ваш файл из вашего архива, вы можете использовать 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и затем повторно скопировать каталог.