Hacker News new | past | comments | ask | show | jobs | submit login
Chart of similar operations with sed and awk (pement.org)
46 points by shawndumas on Feb 17, 2015 | hide | past | web | favorite | 8 comments



(A) I'm not sure why this list uses DOS environment variables rather than bash environment variables, and

(B) IIRC, 'gensub' is 'gawk'-specific.

Other than that, awesome stuff. :-D


Also see https://www.gnu.org/software/gawk/manual/html_node/Clones.ht... for a few unix text processing commands implemented in awk


I have no idea how to use any of this. Fortunately, there's even more files in the directory, one level up!

http://www.pement.org/awk/

https://en.wikipedia.org/wiki/Awk

  AWK was preceded by sed (1974). Both were designed 
  for text processing. They share the line-oriented, 
  data-driven paradigm, and are particularly suited to 
  writing one-liner programs, due to the implicit main 
  loop and current line variables.
I feel like line-oriented programming tools are a silly idea, limiting activities to plain text ASCII. More file formats don't involve new line characters than do, no?

Also, is there any reason to prefer sed over awk, when awk is available? Is awk ever not available?


I don't remember where I read it, but basically - sed can do everything grep does, and more; awk can do everything sed does, and more. There are definitely faster alternatives for more specific use cases, but awk is very general.

I mostly use sed with -i (for in-place editing) when I need a simple operation done quickly on a file without having to think about redirection/etc.

I personally spend a lot of time in the command line working with plain ascii text, and can tell you that awk combined with other commands like find and xargs (or for loops) are my go-to tools. Obviously quick-and-dirty, but powerful and usually get the job done.


Personally I prefer the terseness of sed and only use awk when I can't use sed (or a pipeline of sed commands).


That is an interesting summary.

grep is a search tool. sed is an editor. awk is a programming language. Describing them as a series of supersets is not invalid, but it's an interesting perspective that I had not considered before!


At the company I landed my first programming job, they had an application that was 100k+ lines of ksh, sed and awk.


Everyone can use C and Python but we do it differently.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: