Cygwin 'find' does not support the '-L' predicate?

Lee Rothstein lee@veritech.com
Sat Sep 5 04:23:00 GMT 2009


Eric Blake wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> According to Lee Rothstein on 9/4/2009 9:50 PM:
>> The following, which I assume (according to man and info) will
>> find executables that are links, does not work at all:
>>
>>  find -L "$PWD" -maxdepth 1 -type f -executable
>>
>> Or, is this pilot error?
>
> Pilot error.  -L works just fine. 
I got the terminiology all wrong but find on my system does not allow -L

Here what works:

    # '-follow' is supposed to be deprecated, but the replacement
    # '-L' specified in 'man' and 'info' pages does not appear to
    # exist in Cygwin 'find' version 4.5.4
    find "$PWD" -maxdepth 1 -type f -follow -executable | gawk '

If I replace '-follow' with '-L' it tells me :

find: unknown predicate `-L'

> Also, it is shorter to use . than
> "$PWD" (for that matter, GNU find has an implicit . if you don't specify a
> directory).
Nope. The line is from a larger script and I need rooted paths.

> I think you're asking the wrong question, though - if what
> you really want is to find all symlinks whose targets are executables, try
> this:
No, I want to find all files whether normal or links that are executable.

Thanks for your help, and sorry about my prior confusion.

The larger script, 'rwhich', finds all commands that match an extended
regular expression.

E.g.:

  $ rwhich '^e_[bm]?s$'
  /local/Scripts/e_bs
  /local/Scripts/e_ms
  /local/Scripts/e_s

It works, now, and I've needed this for a long time. Glad it finally works.


Now, if I can only figure out how not to be bitten by Comcast's
motherlovin' bandwidth throttleing while I'm updating Cygwin. Sigh!

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



More information about the Cygwin mailing list