cat vs sed vs awk (lemmy.sdf.org)
submitted 3 years ago* (last edited 3 years ago) by to c/linux@lemmy.ml
 

top 15 comments

sorted by: hot top controversial new old
[–] 6 points 3 years ago

I feel like you can't compare these tools without talking about cut. I personally never use awk, but cut and other coreutils can be used together to achieve much of the same

  • source
  • [–] 6 points 3 years ago* (1 child)

    love cat -n, when working with csv files I often use a command like this to figure out which column I need:

    head -n1 file.csv | sed 's/,/\n/g' | cat -n

  • source
  • hideshow 1 child comment
  • [–] 4 points 3 years ago

    for me it's grep but i'm amazed how many searching tools there are on Linux. sed, grep, ripgrep, cat, find, walk, sor, locate, awk, etc.

  • source
  • [–] 3 points 3 years ago

    Okay, so cat is all I need, right?

    ...right?

  • source
  • [–] 2 points 3 years ago

    Thanks for the info!

  • source
  • [–] 2 points 3 years ago

    I pretty much always use these commands unless I need regex or something. I think it's a lot more maintainable by other people since awk and sed have their own unique syntax.

  • source
  • [–] 1 point 3 years ago* (last edited 3 years ago) (2 children)

    cat
    while read -r l; do echo "$l"; done <

    cat -e
    while read -r l; do echo "$l"$; done <

    cat -n
    n=0; while read -r l; do n="$((n+1))"; printf '%5d %s\n' "$n" "$l"; done <

    cat -b
    n=0; while read -r l; do [ -n "$l" ] && n="$((n+1))" && printf '%5d %s' "$n" "$l"; echo; done <

  • source
  • hideshow 2 child comments
  • [–] 1 point 3 years ago (4 children)

    What is it you want to do?

  • source
  • hideshow 4 child comments
  • [–] [S] 4 points 3 years ago (3 children)

    just trying to get a good mental model of when it's reasonable to use tools like awk instead of simpler unix tools. also further confirming that sed is almost never the best tool except for substitutions.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 6 points 3 years ago (1 child)

    Sed and awk have a lot of overlap. Another thing to consider is that neither might be the right choice if you are inside a bash script since spawning a new process in a tight loop can be very expensive and bash's built-in regex operations can have much better performance in those situations.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 3 years ago

    Ok, I would say... cat is mostly used for output of files, and concatenating files. sed and awk are good at reshaping the output of files or piped std input. They both require some time to learn, but it is worth going back to them.

  • source
  • parent
  • load more comments
    view more: next ›