Düşündüğünüzden daha basit:
$ tar cf small-archive.tar /big/tree --exclude-from <(find /big/tree -size +3M)
3MiB'den daha büyük dosyalar eksi bir yol altındaki tüm dosyaların (dizinler dahil) bir listesini almak için (find kullanamayacağınız ifadenizle ilgili) yarı ilgili bir notta şunu kullanın:
$ find . -size -3M -o -type d
Daha sonra şunları yapabilirsiniz:
$ tar cf small-archive.tar --no-recursion --files-from <(find /big/tree -size -3M -o -type d)
Ama ilkini daha basit olduğu için tercih ederim, ne istediğinizi açıkça ifade eder ve daha az sürprizle sonuçlanır.
find
tekrar kullanmıyorsun ?