On 2017-04-27 08:56, Gary Johnson wrote: > On 2017-04-27, bonhard wrote: >> The command "find /" takes forever, if it completes at all, because of the >> need to traverse the induced directory /proc. Is this directory often >> needed by users? Can it be skipped by setting up "export CYGWIN=something", >> or even by default, with the requirement on the user to induce it if needed? >> There seems to be no switch to the command find that would easily allow >> "but not this subdirectory": if there was, I wouldn't be asking. Quite a >> lot of surfing led me to >> $ find / \( -wholename /proc -o -wholename /dev \) -prune -o -print >> which is really heavyweight syntax for a simple requirement. I am pretty >> certain it leads to the behaviour required "do not traverse" though various >> posters seem to think it just leads to "traverse but do not report" saving >> almost nothing. >> Assuming the syntax is correct, I have not been able to incorporate any >> qualifiers such as -type d or -type f or -type l. Any ideas where to slot >> these so that they work? > > This isn't exactly what you're looking for because it expands to > give find a list of places to look rather than just excluding some > set of directories from one place to look, but it seems to work > well. You'll need to have the extglob shopt set. > > $ find /!(dev|proc) ...
I've used find /??? /sbin to exclude /cygdrive, /home, /proc. If I just want to find something I know is somewhere under ... I use ls .../**/*something* or .../**/*somedir*/, enabled with shopt globstar, and is quicker than find. -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple