All commands tested on Mac OS Monterey / Jan 05, 2022

How to create a tar archive of files by filetype

Create a tar archive called jpgs.tar of only JPEG image files in directory/ (at all directory levels).

You can use this short tar command.

              
                  tar -cvf jpgs.tar directory/**/*.jp*g
              
          

Or this more verbose tar command.

              
                  tar --create --verbose --file jpgs.tar directory/**/*.jp*g
              
          

The **/*.jp*g format does the recursion. Ie. finding JPEG's and JPG's at any level in the directory structure.

Note: There are alternative ways to build a list of files by filetype using the find command and then piping that into tar. However, if you want to achieve this with tar only, the above command should work on your tar implementation.


Options explained

  1. -c or --create tells tar to create a new archive
  2. v or --verbosetells tar to produce verbose output
  3. f or --filetells tar that the next parameter will be the tar file to create, extract, append to, list, etc.

More commands for creating tar archives