“The problem with being self-taught is that you seldom know what it is you don’t know.” --a wise Autodidact.
Recently, the my boss introduced me to the power of perl to parse log files from the CLI, after I tried loading a million line csv in OpenOffice and crashed “ALL THE THINGS!”.
After a few hours of working with it, I turned simple parsing on its head and was doing things I hadn’t even conceived of being possible. For example, I needed to turn a list of errors into a MySQL query, so I came up with this:
cat failures.csv | grep key | grep -iv task | perl -pe 's|(\s+\"key":\s+\[")(\d+)("\]\R)|$2, |' > val_keys.sql
But that really got me thinking. What other tools do I know have in my belt just because I simply hadn’t had a reason to know about them yet?
xargs is on my list to learn next. What recommendations would You make to a relative newbie who spends about 6 hours a day staring at $PS1 and desperately needs to get better with BASH and the CLI in general?
ETA: Thanks for all the replies! To clarify, I’ve been using Linux for 6 years now, but I’ve only been a developer for a little over a year. In that time, I truly just ignored the CLI except as a platform to launch gcc, python, and the Metasploit framework until I took a new job that wasn’t InfoSec but instead s DevOps. I am fluent in C, Python, PHP, MySQL, & JS and can write some serious RegExes. But the tools of BASH are myriad and I want to get a jump on mastering the best of them!