Как использовать команду Awk в Linux

AWK — это язык сценариев, который анализирует текстовые поля. Он широко используется для обработки файлов данных, содержащих строки и столбцы. Впервые AWK был представлен в 1970-х годах. Он получил свое название по фамилиям своих разработчиков: Альфреда Ахо, Питера Вайнбергера и Брайана Кернигана.

Основной формат команды AWK — awk ‘pattern {action}’ input-file > output-file. Фактически, если шаблон присутствует в строке входного файла, awk применит действие к этой строке и запишет полученную строку в выходной файл.

Как использовать команду Awk в Linux

Команда awk присутствует по умолчанию в современных системах Linux. Поэтому нет необходимости устанавливать ее. Здесь мы рассмотрели некоторые моменты о том, как использовать команду awk в Linux. Итак, приступим:

1. Печать определенных столбцов

Чтобы напечатать определенный столбец, нужно использовать команду awk. Например, если вы хотите напечатать 2-й и 3-й столбцы, используйте следующую команду:

$ awk '{print $2 "t" $3}' file.txt

В любом случае, если вы хотите напечатать все строки и столбцы в файле, просто используйте следующую команду:

$ awk '{ print $0}' file.txt

2. Печать строк с определенным шаблоном

$ awk '/variable_to_be_matched/ {print $0}' file.txt 

Приведенный выше синтаксис можно использовать для печати строк с определенным шаблоном. Например, если вы хотите напечатать строки, содержащие букву ‘o’, просто добавьте ‘o’ вместо «переменная для сопоставления».

$ awk '/o/ {print $0}' file.txt

3. Печать столбцов с определенным шаблоном

$ awk ' /a/ {print $3 "t" $4}' file.txt

Эта команда выведет 3-й и 4-й столбцы, содержащие букву ‘a’.

4. Встроенные переменные

Для лучшего анализа данных awk поставляется с несколькими переменными. Здесь мы описали лишь некоторые из них.

NR: Команды NR ведут текущий подсчет количества входных записей. Чтобы подсчитать количество входного файла, можно воспользоваться командой:

$ awk ‘{print NR,  $0}’ file.txt

NF: Переменная NF хранит счетчик полей для каждой записи.

$ awk ‘{print NF,  $0}’ file.txt

Эта команда печатает последний столбец таблицы. Можно также вывести второй последний столбец таблицы с помощью команды

$ awk ‘{print $2,  $(NF -1) }’ file.txt

ORS: ORS означает разделитель выходных записей. Он разделяет каждую строку входного файла нужным образом.

$ awk ‘ BEGIN {ORS = “:” } {print $0}’ file.txt

OFS: OFS означает разделитель выходных полей. Он разделяет каждое поле в нужном выходном формате.

$ awk ‘ BEGIN {OFS = “==” } {print $1, $2}’ file.txt

5. Арифметические операции

Если таблица содержит числа, команда awk может быть использована для выполнения арифметических операций.

$ awk ‘{print $1 + $3 }’ file.txt

6. Сохранение вывода

Для сохранения результатов вывода можно использовать оператор перенаправления «>». Кроме того, результат можно проверить с помощью команды cat.

$ cat output.txt 

Команда Awk в Linux помогает программисту написать полезную программу. Здесь мы рассмотрели лишь несколько команд. Надеемся, что статья вам понравилась и оказалась полезной. Если у вас есть какие-либо предложения, то оставьте их в разделе комментариев ниже.

Оцените статью
cdelat.ru
Добавить комментарий