@zephyr echo "${HOME}/docs"
post
find “$(echo $HOME > variable_holder.txt && cat variable_holder.txt)/$(cat alphabet.txt | grep “d”) $(cat alphabet.txt | grep “o”)$(cat alphabet.txt | grep “c”)$(cat alphabet.txt | grep “s”)”
This is the easiest method
@ilega_dh You don't need cat in cases when grep "d" alphabet.txt can read from file too. Edit: But obviously your comment was more of a joke to over complicate it. So never mind then.
To be safe, should probably output grep to a file, then cat that.
What should I search to better understand what is written here? Don't mind learning myself, just looking for the correct keywords. Thanks!
This comment is a joke and you wouldn't want to do it like that in reality, but here are some related keywords you could look up: "Unix cat", "Unix pipeline", "grep", "output redirection", "command substitution".
Read the Bash manual. That one patter on the GP is called "Command Substitution", you can search for it.
ExplainShell should help
First one, then the other, then I forget the quotes, then I put them in single quotes by accident, then I utilize that "default value" colon syntax in case I'm missing HOME , then I just stick to ~ for the rest of the file.
Typically find "$HOME/docs", but with a few caveats:
-
In Zsh or Fish, the quotes are unnecessary:
find $HOME/docs -
If I'm using anything potentially destructive:
mv "${HOME:?}/bin" ... -
Of course, if it's followed by a valid identifier character, I'll add braces:
"${basename}_$num.txt"
I do what the linter tells me to: https://github.com/koalaman/shellcheck
all 33 comments