awk '{print $2}' знают все, но за этим стоит язык программирования с блоками инициализации, накопительными переменными между строками и своими функциями.
awk 'BEGIN{print "start"} {n++} END{print "total:", n}' file— счётчик строк с сообщениями до и после обработкиawk '{sum[$1]+=$2} END{for (k in sum) print k, sum[k]}' file— суммировать вторую колонку по группам из первой, аналог GROUP BYawk 'function sq(x){return x*x} {print sq($1)}' file— своя функция внутри awk-программыawk -F: '{print $1}' /etc/passwd— свой разделитель полей вместо пробелаawk 'NR==FNR{a[$1]=$2; next} $1 in a{print $0, a[$1]}' ref.txt data.txt— join двух файлов по первому полю
#linux #bash
