Трансформация файла через awk awk
Глобальная замена с записью обратно в файл
awk '{gsub(/foo/, "bar"); print}' input.txt > tmp && mv tmp input.txt
more awk
all 15 commands →
CSV с кавычками (gawk)
gawk -v FPAT='([^,]+)|("[^"]+")' '{print $2}' data.csv
Блоки BEGIN/END
awk 'BEGIN{print "Start"} {lines++} END{print lines" lines processed"}' file.txt
Объединение двух файлов по ключу
awk 'NR==FNR{a[$1]=$2; next} $1 in a {print $0, a[$1]}' lookup.txt data.txt
Вывести конкретную колонку
awk '{print $3}' file.txt
Пользовательский разделитель
awk -F: '{print $1, $3}' /etc/passwd