On Fri, Jun 06, 2003 at 10:34:36AM -0700, Henry House wrote: > On Fri, Jun 06, 2003 at 10:28:37AM -0700, Richard Crawford wrote: > > I have a script to chmod all of the files of a given name to 777, no > > matter where they lie in the directory tree: > > > > > > ################################################ > > > > find . -name $1 -print | while read i do > > chmod 777 $i > > echo "Modified: $i" > > done > > > > ################################################ > > > > Now what I need it to do is to go into only those directories called > > "messages" and do the same thing to files in those directories. I tried > > passing "messages/*" to $1 but, of course, that didn't work. I've also > > tried adding a conditional, "if (grep "\/messages\/" $i)", to the script, > > but that, of course, didn't work either. > > This seems like a ideal use for xargs. Try: > > find . -path '*/messages/*' -type f -print0 | xargs -0 chmod 777
I think: find . -path "*/messages/$1" -type f -print0 | xargs -0 chmod 777 May be closer to what he wants? -Micah _______________________________________________ vox-tech mailing list [EMAIL PROTECTED] http://lists.lugod.org/mailman/listinfo/vox-tech
