3 ms·
I highly recommend you learn the basics of AWK, which is a little language that lets you match on and run commands on every line of input (so AWK "scripts" are
by benhoyt 4y ago
I highly recommend you learn the basics of AWK, which is a little language that lets you match on and run commands on every line of input (so AWK "scripts" are usually one-liners). The very basics can be learn in 5-10 minutes, the whole language in a couple of hours (read the first three chapters of "The AWK Programming Language" by A, W, K.)
For searching recursively through folders, I recommend ripgrep (rg), though it won't do number conversions and the like.
Self-promotion (but I think it's useful here) is my GoAWK project, which is a POSIX-compatible version of AWK, with the recent addition of proper CSV support: https://benhoyt.com/writings/goawk-csv/ https://benhoyt.com/writings/goawk-csv/
- jnordwick 4y agoWhy would you do a posix compat awk? I loved awk, but it needs to be updated adn refined into a better language instead of just recreating the old one.
- benhoyt 4y agoCompatibility: so it can run all the existing AWK scripts without modification, and people can refer to existing AWK documentation when writing scripts, and they'll just work under GoAWK. For a 45-year old language, it's actually surprisingly good. There are a few annoyances and clumsy things (getting substrings is a function call without nice str[start:end] syntax, regex matches are harder than they need to be, string concatenation syntax is weird, arrays aren't nestable (except in Gawk), and so on). I've actually thought it'd be great to "fix" these things and make a nicer AWK language, but the problem is then no one would use it. :-)