On Tue, Dec 19, 2006 at 10:19:42PM -0600, Greg Wallace wrote: > On Tuesday, December 19, 2006 @ 5:15 AM, Joachim Schrod wrote: > > >Greg Wallace wrote: > >> I would like to go through all files and subdirectories of a directory > and > >> set the group permissions equal to the owner permissions. Is there a > >> command that will do this? This directory has thousands of files and > >> hundreds of directories under it, so doing this manually isn't feasible. > > >find directory | while read f > > do setfacl -m `getfacl "$f" | grep user | sed s/user/group/` "$f" > > done > > > > Joachim > > Joachim: > Well, I tried this script but it didn't work. I put the above code into a > file, hard coded /root/test for directory to point to a directory called > test under root that had 4 files under it, and tried executing the script to > see if it copied over the permissions. I got the following error when I > tried to run it -- > > ': not a valid identifier line 1: read : `f
To code above is bourne shell code and the new lines are intended. You may replace the new lines with `;' ... find directory | while read f ; do setfacl -m $(getfacl "$f" | grep user | sed s/user/group/) "$f"; done Or within a shell script #!/bin/sh find ${1+"$@"} | while read f do m=$(getfacl --omit-header "$f" 2> /dev/null | sed -n 's/user/group/p') test -n "$m" || continue setfacl -m $m "$f" done Werner -- "Having a smoking section in a restaurant is like having a peeing section in a swimming pool." -- Edward Burr -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]