5 ms·
I really need to invest more time into Sed/Awk. I typically only use them for find/replace or deleting characters/lines in my shell scripts.
by GNOMES 3y ago
I really need to invest more time into Sed/Awk. I typically only use them for find/replace or deleting characters/lines in my shell scripts.
- jmholla 3y agoI've shared this before, but this sed tutorial made me a pro. [0] Even if you don't use it for more complex things, you may find there are faster ways to do the things you are now. [0]: https://www.grymoire.com/Unix/Sed.html https://www.grymoire.com/Unix/Sed.html Edit: That said, I don't even want to start dissecting the submitted code.
- DryLabRebel 3y agoGrymoire is how I learned sed, and is a fantastic quick reference for grep and regex also.
- chasil 3y agoFor awk, start with the book by Kernighan/Aho/Weinberger. The PDF of the first edition is freely available on archive.org, and a second edition has been announced. Chapter 2 of the first edition is only 40 pages, and describes all language features. https://news.ycombinator.com/item?id=13451454 https://news.ycombinator.com/item?id=13451454 For sed, the best resource is likely the free "UNIX Bookshelf" from O'Reilly that can be found online; this contains a book specifically focusing on Sed and Awk. https://freecomputerbooks.com/The-Unix-CD-Bookshelf-Version-3-0.html https://freecomputerbooks.com/The-Unix-CD-Bookshelf-Version-...
- Brentward 3y agoThe second edition is out! I started reading it last week, and it's great so far. https://www.awk.dev/ https://www.awk.dev/
- rjh29 3y agoJust use Perl for one-liners. It's more powerful than sed/awk but it does pretty much everything those do.
- garciasn 3y agoPerl is probably overkill for 99% of one-liners and may not be available on as many environments as awk/sed are, but I advocate that folks do whatever is best for them in their environment and if that's Perl for you, rock it out!
- nickpeterson 3y agoIf Perl isn’t available in the environment try ‘systemctl start oyster-farm’
- anthk 3y agoawk can do much more than sed. And, with patience, you could even write a Z-machine interpreter on it as some guy did with postscript. You might have to convert the binary input to hex first with xxd/od in order to parse the opcodes in a nice way, but everything else would be simulated from awk.
- tyingq 3y ago> You might have to convert the binary input to hex first If you're okay with gawk, most implementations ship with gawkextlib, which has readfile(), and you also have FIELDWIDTHS.
- asicsp 3y agoI have ebooks on GNU sed and GNU awk with plenty of examples and exercises (free to read online): * https://learnbyexample.github.io/learn_gnused/ https://learnbyexample.github.io/learn_gnused/ * https://learnbyexample.github.io/learn_gnuawk/ https://learnbyexample.github.io/learn_gnuawk/ I also wrote TUI apps for interactive exercises (grep, sed, awk, etc): https://github.com/learnbyexample/TUI-apps https://github.com/learnbyexample/TUI-apps
- nvy 3y agoThis taught me awk, from an HN submission years ago: https://ferd.ca/awk-in-20-minutes.html https://ferd.ca/awk-in-20-minutes.html I've had some fun using awk to generate C# classes for an Ultima Online emulator.
- deleted 3y ago[deleted]