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

При работе в среде командной строки необходимо хорошо разбираться в различных командах, позволяющих эффективно управлять файлами, каталогами и другими данными. Одной из таких команд является команда awk.

awk - это мощная утилита, используемая для обработки и манипулирования текстовыми файлами в среде Unix/Linux. В этой статье мы расскажем о том, что представляет собой команда awk, и о том, как эффективно ее использовать.

Что такое команда 'awk'?

Команда awk - это мощный инструмент для манипулирования и обработки текстовых файлов в средах Unix/Linux. С ее помощью можно выполнять такие задачи, как сопоставление образцов, фильтрация, сортировка и манипулирование данными. awk в основном используется для обработки и манипулирования данными в структурированном виде.

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

awk - это инструмент командной строки, который может быть использован различными способами. Его можно вызывать непосредственно из командной строки или использовать вместе со сценарием оболочки. Ниже приведены примеры использования awk:

Пример 1: Подсчет количества строк в файле

Для подсчета количества строк в файле можно использовать следующий синтаксис awk:

Здесь "NR" - это встроенная переменная, содержащая количество записей (строк), обработанных awk. Ключевое слово "END" указывает awk на выполнение этой команды после того, как все строки в файле будут обработаны. Здесь я создал текстовый файл для наглядности, а затем использовал приведенный выше синтаксис в сценарии оболочки, который выглядит следующим образом:

Созданный мною текстовый файл содержит две строки, и при использовании команды awk на выходе отображается 2, созданный мною текстовый файл показан на рисунке ниже:

Подсчет количества строк в файле

Пример 2: Фильтрация данных

С помощью awk можно фильтровать данные по определенным критериям, и вот синтаксис, который следует использовать для этой цели:

Например, чтобы отфильтровать все строки файла, содержащие слово "Lorem", можно использовать следующую команду.

В этом примере символ "!" отрицает поиск по регулярному выражению, поэтому будут выведены все строки, не содержащие слово "Hello". Я использовал тот же текстовый файл, что и в предыдущем примере, поэтому вот результат работы приведенного выше сценария:

Фильтрация данных

Пример 3: Извлечение определенных полей

Команда awk также может использоваться для извлечения из файла определенных полей. Например, если у вас есть файл, содержащий список имен и адресов, и вы хотите извлечь только имена, вы можете использовать следующую команду:

Здесь для примера я вывел первое поле одного и того же текстового файла, а "$1" представляет собой первое поле в каждой строке файла. Команда "print" указывает awk на печать только этого поля.

В текстовом файле первая запись первой строки - "Lorem", а первая запись второй строки - "Morbi", так что вот вывод данного кода:

Извлечение определенных полей

Заключение

Команда awk - это мощный инструмент, предназначенный для манипулирования и обработки текстовых файлов. Она позволяет выполнять различные операции с текстовыми файлами, такие как печать определенных столбцов, поиск закономерностей и вычисление сумм. Овладев основами работы с awk, вы сможете оптимизировать свой рабочий процесс и стать более эффективным и результативным пользователем Linux или Unix.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий