On 07/11/2012 07:44 PM, Jim Meyering wrote: > Peng Yu wrote: >> I need to cp a directories with all the the subdirectories matching a >> pattern removed (ignore all the test* subdirectories). There can be >> many solutions to this problem. I'm wondering if anybody is aware of >> an easy and robust solution. Thanks! > > I would use rsync for that: > > rsync -avP --exclude='test*' A B
Nice one. I learned today that rsync prunes whole branches based on the above. I also notice rsync supports sophisticated --filter rules which are not needed for simple filtering like this. Note however that the 'test*' above should end in '/' so as to apply to just directories and leave any test* files (not under a test* dir) in the copy. cheers, Pádraig.