RVP wrote in <4a495fb2-150d-67b7-cbbc-8a799868d...@sdf.org>: |On Thu, 14 Aug 2025, Rocky Hotas wrote: | |> I'm trying to use find(1) in a POSIX way to list all the files (not |> directories) with at least one execute bit set. |> [...] |> find /target_directory/ -type f -perm -001 -or -type f -perm -010 \ |> -or -type f -perm -100 |> |> Is there a more compact, but still POSIX, way to obtain the same |> result with NetBSD's find(1)? | |If not sticking to pure find(1): | |Compact, but slow, and filenames cannot contain (')--single quotes. | |$ find /dir/ -type f -exec sh -c "test -x '{}' && echo '{}'" \; | |Slightly faster, and should handle weird filenames: | |$ find /dir/ -type f -exec sh -c 'for f; do test -x "$f" && echo "$f"; \ |done' xxx {} + | |Note the `xxx' above. It, or some other string, is reqd. there to supply \ |a `$0' |for the shell. Of course, you would usually put all this in a shell \ |script, then |`-exec' that :).
fwiw GNU find(1) has -perm /mode Any of the permission bits -perm -mode All of the permission bits which then is pretty cool |-RVP --End of <4a495fb2-150d-67b7-cbbc-8a799868d...@sdf.org> --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt)