6 ms·
>Awk and sed are more of the UNIX magic that I have always thought was really cool, though I never really understood what they were used for. I was so put off
by asicsp 6y ago
>Awk and sed are more of the UNIX magic that I have always thought was really cool, though I never really understood what they were used for.
I was so put off by their syntax that I didn't even bother to try to learn them when I was a newbie. If I had a time machine, I would certainly go back and tell myself to learn these tools and save plenty of time instead of always using vim/perl for every text processing problem. I've now written my own books (https://github.com/learnbyexample/scripting_course#ebooks https://github.com/learnbyexample/scripting_course#ebooks) - might help you.
For `bash`, I'd highly recommend these resources:
* https://mywiki.wooledge.org/BashGuide https://mywiki.wooledge.org/BashGuide, https://mywiki.wooledge.org/BashFAQ https://mywiki.wooledge.org/BashFAQ, https://mywiki.wooledge.org/BashPitfalls https://mywiki.wooledge.org/BashPitfalls, etc
* https://www.shellcheck.net/ https://www.shellcheck.net/
* https://devmanual.gentoo.org/tools-reference/bash/index.html https://devmanual.gentoo.org/tools-reference/bash/index.html
Also, https://linuxjourney.com/ https://linuxjourney.com/ is nice for many topics.
- arendtio 6y agoActually, I am more of a POSIX shell person, so I would like to add https://shellhaters.org https://shellhaters.org It is a simple page with links to the corresponding parts of the POSIX standard which makes it a lot easier to find the correct documentation when you need it. For those who wonder what POSIX is: It is a standard for operating systems and one part is about shells. So if a shell whats to be POSIX compliant it has to support certain commands. And if you write POSIX commpliant scripts, they won't just run on Linux, but also on MacOS, other BSDs and other POSIX compliant operating systems. Bash supports POSIX, but if you use Bash extensions that are not part of POSIX, you might run into trouble with other shells (e.g. dash on Debian).