ls **/*.sh
I think that would work in Bash just as well as using find.But yeah, even in POSIX it feels redundant when we already have find, seq, grep and whatnot.
ls **/*.sh
I think that would work in Bash just as well as using find.But yeah, even in POSIX it feels redundant when we already have find, seq, grep and whatnot.
https://www.linuxjournal.com/content/globstar-new-bash-globb...
https://www.gnu.org/software/bash/manual/bash.html#Pattern-M...
Find works, but the syntax is arcane. Not bad, but unlike any other common cli tool, which makes it more difficult to remember if you haven't needed it in a while
Regarding remembering the find syntax I think its being arcane is what it made for me more easy to remember :) I now have a unique brain area dedicated to remember only that.
fd is a lifesaver: https://github.com/sharkdp/fd
ls -- **/*.sh
Otherwise it will fail if you've got a file named e.g. --helpI dislike these tools so much, because you need to know all these corner-cases and I don't.
set -x
mkdir test; cd "$_"
touch "test "$'\n'"12.txt"
ls
for name in `ls`; do echo "$name"; done
find
find . -exec echo {} \;
find . -print0
find . -print0 | xargs -n 1 -0 echo
#
find . -print0 | el -0 -v -x echo
find . -print0 | el -0 -v -x echo "{0} #"
find . -print0 | el -0 -v -x echo '"{0}" #'
find . -print0 | el -0 -x sh -x -c 'echo "{0} #"'
Though, I just realized that this doesn't work yet either: find . -print0 | el -0 -x -- sh -c 'set -x: echo "{0} #"'
westurner/dotfiles/scripts/el: "edit lines" https://github.com/westurner/dotfiles/blob/master/scripts/el...`el -v/--verbose` is useful because it prints each input; though, I might not have written `el` if I had been aware of `xargs -n/--max-args=1`
for name in `ls`; do echo "$name"; done
is an unportable and expensive way to write for name in *; do printf '%s\n' "$name"; done
but you could also just printf '%s\n' *