Главная > Обработка текста и поиск > awk

Полное освоение команды AWK: Мастер обработки текста

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

Обзор AWK

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

Как работает AWK

AWK следует базовой структуре: `pattern { action }`. При чтении каждой строки, если `pattern` совпадает, выполняется `action`. Если шаблон отсутствует, действие выполняется для каждой строки. Если действие отсутствует, соответствующие строки выводятся как есть.

Особенности AWK

  • Построчная обработка: Обрабатывает входные файлы построчно (запись за записью).
  • Доступ на уровне полей: Разделяет каждую строку на поля ($1, $2, ...) по пробелу (разделитель по умолчанию) и позволяет обращаться к ним.
  • Сопоставление с образцом: Может выполнять операции только над строками, соответствующими определенному шаблону.
  • Возможности программирования: Предоставляет базовые функции программирования, такие как переменные, условные операторы, циклы и функции.
  • Создание отчетов: Позволяет легко создавать текстовые отчеты сложного формата.

Основные команды и опции AWK

Точно обрабатывайте текстовые данные, используя различные опции, встроенные переменные и специальные шаблоны AWK.

1. Базовое использование и опции ввода/вывода

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

3. Специальные шаблоны

Сгенерированная команда:

Комбинируйте команды.

Описание:

`awk` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

Ощутите магию обработки текстовых данных с помощью различных примеров использования команды AWK.

Вывести только второй столбец из файла

awk '{print $2}' data.txt

Извлекает и выводит только второе поле (столбец) каждой строки из файла `data.txt`. (Разделитель по умолчанию: пробел)

Вывести определенные столбцы из CSV-файла

awk -F',' '{print "Имя: " $1 ", Оценка: " $3}' scores.csv

Выводит имя (первое поле) и оценку (третье поле) из файла `scores.csv`, который разделен запятыми (`,`).

Вывести только строки, содержащие определенный шаблон

awk '/ERROR/{print}' log.txt

Выводит все строки, содержащие строку 'ERROR' из файла `log.txt`.

Вывести с номерами строк

awk '{print NR ": " $0}' names.txt

Выводит каждую строку файла `names.txt` с префиксом ее номера строки.

Изменить значение второго поля в строках, где первое поле 'apple'

awk '$1 == "apple" {$2 = "fruit"; print}' inventory.txt

Находит в файле строки, где первое поле 'apple', изменяет второе поле на 'fruit', а затем выводит всю строку.

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

awk 'BEGIN {total = 0; print "Начало расчета!"} {total += $1} END {print "Итого: " total}' numbers.txt

Суммирует все числа в `numbers.txt` и выводит сообщения в начале и конце. (Предполагается, что каждая строка содержит только одно число)


Связанные команды

Функционально схожие или часто используемые команды.


Те же команды в категории