This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: find: File system loop detected problem in find and locate


leoslists sent the following at Tuesday, March 20, 2012 1:15 AM
>I'm trying to use locate and find.  When I issue
>    find / -xdev -name "*hallo*"
>
>I get the warning
>    find: File system loop detected; `/c/cygwin' is part of the same file
>system loop as `/'.
>
>It is important to note, that I have mounted the C: drive at /c.  After
>reading some Cygwin posts I hoped that `-xdev' would solve this, but it
>didn't...
>
>The next thing I tried was pruning the Cygwin dir:
>    find / -wholename /c/cygwin -prune -o -name "*hallo*"
>
>But I still get the error message.
>
>Any ideas how I can prevent the loop, but still do the find from root?
>(I want to do the find from root, because inside locate, this determines
>the paths written to the locate database.)

Does this do what you want?

find /c -name "*hallo*" | sed -e 's,/c/cygwin,,' | sort

Although it is not totally cygwin*, my experience is that cmd's dir is
faster than find.  (I tried it on my C: (W&) and dir took 70% the time of
find and did not give "access denied" messages.)

"$(cygpath -u "${COMSPEC}")" /c dir /s /b /a: /o:n c:\\ | \
    tr -s '\r\n' '\n' | \
    cygpath -u -f - | \
    sed -e '/^$/d' \
        -e '/\/RECYCLER\//d' \
        -e '/\/$Recycle.Bin\//d' \
        -e 's,/\+,/,g' \
        -e 's,^/usr/bin,/bin,i' \
        -e 's,^/usr/lib,/lib,i' \
        -e 's,^/sbin,/usr/sbin,i' | \
    sort -u | \
    grep -e 'hallo[^/]*$'

(Whether you use the last 3 sed patterns depends on whether you want things
listed in /bin or /usr/bin.  I prefer the former.)

* I debated with myself whether to include this.  As I understand the rules,
we're not supposed to have discussions of the use of native programs on this
list, but I thought that it was relevant and connected enough to include.
Should I have sent a separate email to cygwin-talk?

Best wishes,

- Barry
  Disclaimer: Statements made herein are not made on behalf of NIAID.


--
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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]