Extract specific files in a tar archive using a wildcard

36,562

Solution 1

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

So the command

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

did exactly what I needed.

Solution 2

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:
36,562
AdrieanKhisbe
Author by

AdrieanKhisbe

Updated on September 18, 2022

Comments

  • AdrieanKhisbe
    AdrieanKhisbe over 1 year

    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.

    • Deliss
      Deliss over 6 years
      Which tar and which version? Paste the results of tar --version