Wiki
Clone wikiconfigs / linux / tools / awk
awk
cols
отображать не все столбцы
awk ' {print $1,$3} '
if
Показывает только зомбанутые процессы
ps aux | awk '{if ($8 == "Z") print $0;}'
awk '$3>10' awk '$3>10 {print}' # равнозначно
awk '/^test/' awk '$2~/^3/'
awk '($7=="session" && $8=="opened") || $11!="user" '
if else
Добавляем префикс перед всеми шестисимвольными строками, остальные выводим как есть.
awk '{if ($1~/^.{6}$/) print "prefix_"$1; else print $1;}'
grep
Можно обойтись без грепа
ps aux | awk '/apache/ {if ($8 == "S") print $0;}'
sum
Можно получить сумму поступающих данных
awk '/Hosts/ {sum += $1;} END { print sum }'
awk '{sum += $1; print $0,sum} END { print sum }'
awk '{arr[$1]+=$2} END {for (i in arr) {print i,arr[i]}}'
ссылки
Updated