Lebih sederhana dari yang Anda pikirkan:
$ tar cf small-archive.tar /big/tree --exclude-from <(find /big/tree -size +3M)
Pada catatan semi-terkait (terkait dengan pernyataan Anda yang tidak dapat Anda gunakan temukan) untuk mendapatkan daftar semua file (termasuk direktori) di bawah jalur minus file yang lebih besar dari 3MiB, gunakan:
$ find . -size -3M -o -type d
Anda kemudian dapat melakukan:
$ tar cf small-archive.tar --no-recursion --files-from <(find /big/tree -size -3M -o -type d)
Tapi saya lebih suka yang pertama karena lebih sederhana, dengan jelas mengungkapkan apa yang Anda inginkan dan akan menghasilkan lebih sedikit kejutan.
find
lagi?