On Thursday 25 January 2001 11:18, Jeremy Buchmann wrote:
jk> On Wednesday 24 January 2001 12:06, Jeremy Buchmann wrote: jk> > Whoops, that's a thinko, this really does work: jk> > jk> > find / -type l ! -path '/proc*' -exec file {} \; | grep "broken jk> > symbolic"
I think someone goofed, that '!' should not be there after the '-type l'. Remove that and it whould work fine. Although somewhere along the line, the above lost the '-prune -o' function, which when removed kinda defeats the purpose of the whole '-path' function.
Ummm, no. The ! starts a new expression and negates the -path '/proc'. This goes against what the man page advises...it says to use -prune which is about 10 times slower and just plain doesn't work. I know for sure the above command works, at least on bash 2.03. Mileage on lesser shells may vary.
--Jeremy
It doesn't work on my SUSE 7.0. If you put the '!' right beside the '|' it will give you a '/proc*'' not found. When you bring the cmd back from history bash puts a space between '|!'.
There shouldn't be a "!" next to the pipe symbol "|". I think you're seeing the lower case "L" as a pipe symbol. Here is the whole thing in all caps: FIND / -TYPE L ! -PATH '/PROC*' -EXEC FILE {} \; | GREP "BROKEN > SYMBOLIC" of course, it should be run in all lower case. --Jeremy