LINUX.ORG.RU

tar извлечение файла без структуры каталогов. как?


0

0

Как можно извлечь из tar архива файл из одной поддиректорий, чтобы при распаковке не создавалась вся структура директорий до это файла, а распаковался только файл?

foo.tar
|
+wah
-blah
|
nah.conf

если я скажу извлекать nah.conf, то у меня извлекается blah/nah.conf, а мне нужно просто nah.conf. Возможно ли это средствами tar?

Ответ на: комментарий от Unnamed_Hero

Короче, погуглив, нашёл фразу:

«Некоторые люди хотят иметь какую-нибудь опцию для извлечения чего-нибудь из архива в текущий каталог, игнорируя при этом каталоговую структуру архива. Это так редко бывает нужно, что я сомневаюсь, что такая опция действительно будет использоваться. Она, может быть, только поощряла бы неправильное использование tar. »

Придётся костыль использовать.

Unnamed_Hero ★★★
() автор топика
Ответ на: комментарий от Unnamed_Hero

или дописать этот функционал в gnu tar. это можно и в резюме потом указывать :)

azure ★★
()

Как-то так:

tarrr() { tar --to-stdout -xf «$1» «$2» > «`basename »$2"`"; }

tarlist() { tar --wildcards --wildcards-match-slash -tf «$1» «$2»; }

tarextract() { tarlist «$1» «$2» | while read i; do tarrr «$1» «$i»; done; }

tarextract archive.tar «*patte[rR]n»

anonymous
()
Ответ на: комментарий от sdio

Это не костыль, это использование shell scripting по прямому назначению - автоматизации процесса.

Зачем добавлять «фичу» в gnutar, если эта «фича» реализуется 3-мя строками на sh? Бред какой-то.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.