168 csh, pipes, and find
...
Great. The shell thinks curly brackets are expendable.% find. -name ’*.el’ -exec echo test -f ’{}’c \;
test -f {}c
test -f {}c
test -f {}c
test -f {}c
...Huh? Maybe I’m misremembering, and {} isn’t really the magic
“substitute this file name” token that find uses. Or maybe...% find. -name ’*.el’ \
-exec echo test -f ’{}’ c \;
test -f ./bytecomp/bytecomp-runtime.el c
test -f ./bytecomp/disass.el c
test -f ./bytecomp/bytecomp.el c
test -f ./bytecomp/byte-optimize.el c
...Oh, great. Now what. Let’s see, I could use “sed...”Now at this point I should have remembered that profound truism:
“Some people, when confronted with a Unix problem, think ‘I know,
I’ll use sed.’ Now they have two problems.”Five tries and two searches through the sed man page later, I had
come up with:% echo foo.el | sed ’s/$/c/’
foo.elcand then:% find. -name ’*.el’ \
-exec echo test -f `echo ’{}’ \
| sed ’s/$/c/’` \;
test -f c
test -f c
test -f c
...OK, let’s run through the rest of the shell-quoting permutations until
we find one that works.