Both awk and sed are command-line utilities that are used to transform text.
Let’s take a look at the major differences between them.
It works with delimited fields on a per-line basis.
It is mainly used to search and print data from text files.
It has advanced programming constructs like for, while, do-while, and multi-dimensional arrays.
It is more robust than sed.
Writing mathematical expressions in awk is easy.
It works with characters on a per-line basis.
It is primarily used to filter and modify text files.
It has fairly limited programming constructs like pattern matching and simple conditionals.
It is less robust than awk.
Writing mathematical expressions in sed is hard.
The following command prints the first and second columns of myfile.txt
with a space in between.
awk ‘{print $1 “ ” $2}’ myfile.txt
The following command replaces “helo” with “hello”
in myfile.txt
.
sed ‘s/helo/hello/’ myfile.txt