Ask Ubuntu is a question and answer site for Ubuntu users and developers. 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 archive files with tar and ignoring files larger than 100MB. Is that possible?
PS: Not have to use tar.

share|improve this question
up vote 7 down vote accepted

Yeah there are probably a few more ways of doing this but you're probably best off with find as it's so tunable.

find /path/to/dir -size -100M | xargs tar cvf archive.tar


tar cvf archive.tar $(find /path/to/dir -size -100M)

If there are other directories in the current folder which you do not want to archive, then use:

find /path/to/dir -maxdepth 1 -size -100M | xargs tar cvf archive.tar

Per the comments below, spaces can throw out some errors but in my testing they still seemed to get added to the archive when using the first method (a little strange in itself) but if you're worried, you can fix the find command to replace spaces with escaped versions.

As ever, there are a billion ways of doing this.

find /path/ -size -100M | sed 's/ /\\ /g' | xargs tar cvf archive.tar

find /path/ -size -100M -exec echo '"{}"' \; | xargs tar cvf archive.tar
share|improve this answer
Both options could give problems if the OP has filenames containing spaces. – enzotib Feb 21 '12 at 12:20
... agreed - will need to use -print0 in the find command as well as --null for the tar command to cope with this scenario. – fossfreedom Feb 21 '12 at 13:12
While creating a huge archive tar cvf myfile.tar command fails. I strongly suggest use to tar rvf myfile.tar command. – Faruk Uzun Feb 21 '12 at 16:21

Just exclude the big files like this:

tar cf archive.tar /path/to/archive --exclude-from <(find /path/to/archive -size +100M)

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.