tar xvf archive.tar *.txt в HP-UX и SuSE.

Как я могу извлечь только файлы, соответствующие *.txt для архива tar? Я мог бы использовать --wildcards на SuSE, но это не работает на HP-UX

Я на HP-UX 11iv2 (11.23) на HP ia64 и SuSE SLES 11 обновление 3

Спасибо

2 ответа2

0

как насчет:

find . -name '*.txt' | xargs tar xvf archive.tar

У меня, к сожалению, нет машины, чтобы проверить это.

Изменить: ой, это было глупо с моей стороны. Может быть, это лучше

tar tf archive.tgz | grep '.txt$' | xargs tar xzf archive.tgz
0

tar t перечисляет содержимое архива. Таким образом, может работать следующее, предполагая bash и отсутствие пробелов в путях к файлам:

tar xf archive.tar $( tar tf archive.tar | grep '.txt$' )

Нерекурсивна:

tar xf archive.tar $( tar tf archive.tar | grep '.txt$' | grep -v / )

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .