Em vez de usar exec :
find . -type f -mtime -30 -exec tar -czf changed.tar.gz {} \;
Você pode pipe a tar usando --files-from=- e --null :
find . -mtime -30 -type f -print0 | tar czf changed.tar.gz --files-from=- --null
- null
-T reads null-terminated names, disable -C-T,
--files-from FILEget names to extract or create from FILE
No exemplo acima, o nome do arquivo de entrada é - - a entrada do pipe
Você também pode pipe usando xargs
find . -type f -mtime -30 -print | xargs tar -czf changed.tar.gz