On Thu, Nov 29, 2001 at 09:23:18AM +1100, Martin Pool wrote: > On 28 Nov 2001, Dave Dykstra <[EMAIL PROTECTED]> wrote: > > On Tue, Nov 27, 2001 at 04:03:58PM -0800, [EMAIL PROTECTED] wrote: > > > rsync -avu --include 'tmp1/*/*.c' --include "*/" --exclude "*" tmp1 tmp2 > > > > > > The above command copies all the empty directories under tmp1/ . Is there > > > any way to avoid it? > > > > Currently the only way is to explicitly include the parent directories > > you want instead of --include "*/". > > A quick fix is to post-process the directory with > > find tmp2 -type d -empty -depth -exec rmdir {} \; > > I think the best fix is to add scripting support: > > rsync -avu --perl 'filter() { ( -d && -s ) || /\.c$/; }' here friendly:/tmp > > Anybody else like this idea?
Nah, the best fix in this case is --files-from. I'm not too keen on the scripting idea. Seems like more bloat to me. With --files-from people can use whatever script they like to generate the list of files before sending it to rsync. - Dave