Tom Brown wrote: > Hi > > I have to use find to change the perms of a directory and files within > that directory recursively but i need to exclude a directory within the > top level directory, as its a netapp and so contains a read only > .snapshot dir. > > I have tried... > > # find /var/data/foo -path '\.\/\.snapshot' -prune -o -exec chown > usera:groupb {} \; > > but > > chown: changing ownership of `/var/data/foo/.snapshot': Read-only file > system > chown: changing ownership of `/var/data/foo/.snapshot/hourly.0': > Read-only file system > chown: changing ownership of > `/var/data/foo/.snapshot/hourly.0/filename': Read-only file system Your "-path" argument is wrong. Try this: find /var/data/foo -path '/var/data/foo/.snapshot' -prune -o -exec chown usera:groupb {} + You need the whole path, and there is no need to escape the '.' character. I've also used "+" as the terminator. That's just an efficiency issue. It makes 'find' build command lines with as many matches as will fit rather than invoking 'chown' separately for each one. -- Bob Nichols "NOSPAM" is really part of my email address. Do NOT delete it.