Извлеките определенную папку в определенный каталог из tar.gz
Я искал и нашел, как две части того, что я хочу, но ничего, что позволило бы вам сделать это в целом....
То, что я хотел бы сделать, это извлечь определенную папку из tar.gz в другую папку по другому пути, чем в tar.gz.
Например:
Путь к каталогу в моем файле backup.tar.gz: a/b/c/d (d - это мой основной каталог со многими другими)
Я хочу распаковать каталог 'd' в 'm' внутри этого другого пути к серверу: a/b/m
Если я попытаюсь этот код: tar -xzf backup.tar.gz -C a / b / m
** Структура папок выглядит следующим образом: a/b/m/a/b/c/d, но я бы хотел, чтобы она выглядела как /b/m+d, чтобы все мои основные файлы / папки в архиве находились в "d" путь заканчивается в пути "м"
Любая помощь с благодарностью.
Спасибо!
2 ответа
Хорошо, я понял это!
По сути, я могу просто использовать команду strip, чтобы удалить количество ведущих каталогов x. В этом случае моя команда будет выглядеть так:
tar -xzf backup.tar.gz --strip-components = 3 -C a / b / m
Это удалило первые три пути к каталогам из моего архива (backup.tar.gz: a/b/c/d) перед тем, как распаковать его в каталог описания.
Теперь это выглядит так: а / б / м + д
Это работало для меня на OS X (извлечение определенных файлов из репозитория GitHub):
# Move to target directory and run:
curl -#L https://github.com/USER/REPO/tarball/BRANCH | tar -xzv --strip-components 3 --include=*./some/folder