AWK вывод столбцов из файла в Linux

AWK — это удобный и функциональный инструмент Linux, который можно использовать для обработки входных данных в виде столбцов.

С помощью примеров из данной статьи, Вы сможете решать такие распространенные задачи, как :

  • Печать Столбцов по Номерам
  • Изменять Разделители Колонок
  • Исключать Определенные Столбцы
  • Печатать или Исключать Диапазон Столбцов

Печать Столбцов по Номерам с помощью AWK

Вывести все столбцы.

$ awk '{print $0}' file

Напечатать 3-ий столбец.

$ awk '{print $3}' file

Напечатать 1-ый и 3-ий столбцы.

$ awk '{print $1 $3}' file

Изменить Разделитель Колонок в AWK

По умолчанию в качестве символа разделителя колонок используется пробел и табуляция.

Использовать «,» (запятую) в качестве разделителя и вывести 2-ую колонку.

$ awk -F "," '{print $2}' file

Использовать «:» (двоеточие) в качестве разделителя и напечатать 3-ий столбец.

$ awk -F ":" '{print $3}' file

Исключить Определенные Столбцы с помощью AWK

Напечатать все столбцы, за исключением 3-его.

$ awk '{$3=""; print $0}' file

Напечатать все столбцы, за исключением 1-ого и 2-ого.

$ awk '{$1=$2=""; print $0}' file

Напечатать или Исключить Диапазон Столбцов с помощью AWK

Вывести колоноки со 2-ой по 4-ую.

$ awk -v f=2 -v t=4 '{for(i=f;i<=t;i++) printf("%s%s",$i,(i==t)?"\n":OFS)}' file

Исключить диапазон столбцов со 2-ого по 4-ый и напечатать все остальные.

$ awk -v f=2 -v t=4 '{for(i=1;i<=NF;i++)if(i>=f&&i<=t)continue;else printf("%s%s",$i,(i!=NF)?OFS:ORS)}' file

Материал взят здесь

1 Comment

  1. Ответить

    Как и sed, awk использует ключ -f для получения инструкций из файла, что полезно, когда их большое количество и вводить их вручную в терминале непрактично.

Leave a comment

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *