Извлечение определенных файлов в архив tar с использованием подстановочного знака

15

Я пытаюсь создать скрипт для извлечения только JPEG изображений из архива, содержащего много видов файлов.

Для этого я попытался использовать:

   tar -xf MyTar.tar *.jpg

но это не удалось (* .jpg не найден) и предлагает использовать «--wildcard». Так я попробовал

tar -xf MyTar.tar --wildcard *.jpg

Я так и сделал, но потом появилась та же ошибка и другое предупреждение о том, что опция «--wildcard» неоднозначна.

Я просматривал справочные страницы по tar, но не нашел подсказки о проблеме.

AdrieanKhisbe
источник
Какая смола и какая версия? Вставить результатыtar --version
smci

Ответы:

28

В конце концов, я нашел ответ после хорошего перерыва. Опция подстановочные s , множественное число ...

Итак, команда

tar -xf MyTar.tar --wildcards "*.jpg"

сделал именно то, что мне нужно.

AdrieanKhisbe
источник
3

Поместите кавычки вокруг символа подстановки, как этот, "*.jpg"чтобы оболочка не пыталась его расширить и вместо этого передавала прямо через tar. Вы хотите, чтобы tar вычислял подстановочный знак, а не оболочка, и кавычки делают это.

Николь Гамильтон
источник