Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to create a script to extract only jpeg pictures from an archive containing many kind of files.

To do so, I tried to use:

   tar -xf MyTar.tar *.jpg

but it failed (*.jpg not found) and suggest me to use "--wildcard". So I tried

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

I did that, but then the same error and a different warning saying to me that the option "--wildcard" is ambiguous.

I've been over the man pages for tar, but didn't find a clue about the problem.

share|improve this question
up vote 4 down vote accepted

In the end, I found then answer after a good break. The option is wildcard*s*, plural...

So the command

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

did exactly what I needed.

share|improve this answer
(I also included the quotes as Nicole suggested" ) – AdrieanKhisbe Nov 12 '12 at 23:11

Put quotes around the wildcard like this "*.jpg" so the shell won't try expanding it and will instead pass it straight through to tar. You want tar to evaluate the wildcard, not the shell and the quotes do that.

share|improve this answer
Indeed I forgot to protecter the string. However, I tried but it didn't work neither. same error occurs – AdrieanKhisbe Nov 12 '12 at 22:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .