Awk

Как использовать регулярное выражение с командой awk

Как использовать регулярное выражение с командой awk

Регулярное выражение (regex) используется для поиска заданной последовательности символов в файле. Для определения шаблона могут использоваться такие символы, как буквы, цифры и специальные символы. Различные задачи можно легко выполнять с помощью шаблонов регулярных выражений. В этом руководстве мы покажем вам, как использовать шаблоны регулярных выражений с командой awk.

Основные символы, используемые в узорах

Многие символы могут использоваться для определения шаблона регулярного выражения. Символы, наиболее часто используемые для определения шаблонов регулярных выражений, определены ниже.

Персонаж Описание
. Соответствует любому символу без новой строки (\ n)
\ Цитировать новый мета-персонаж
^ Соответствует началу строки
$ Сопоставьте конец строки
| Определите альтернативный
() Определить группу
[] Определите класс персонажа
\ w Соответствует любому слову
\ s Соответствует любому символу пробела
\ d Соответствует любой цифре
\ b Соответствует любой границе слова

Создать файл

Чтобы следовать этому руководству, создайте текстовый файл с именем продукты.текст. Файл должен содержать четыре поля: ID, Имя, Тип и Цена.

ID Имя Тип Цена

p1001 15-дюймовый монитор Монитор $ 100

Мышь p1002 A4tech Mouse $ 10

p1003 Принтер Samsung Принтер $ 50

p1004 Сканер HP Сканер $ 60

Мышь Logitech Mouse Mouse p1005 $ 15

Пример 1: определение шаблона регулярного выражения с использованием класса символов

Следующая команда 'awk' будет искать и печатать строки, содержащие символ 'n', за которым следуют символы 'er'.

продукты $ cat.текст
$ awk '/ [n] [er] / print $ 0' продуктов.текст

Следующий вывод будет произведен после выполнения вышеуказанных команд. На выходе отображается строка, соответствующая шаблону. Здесь только одна линия соответствует шаблону.

Пример 2: определение шаблона регулярного выражения с помощью символа '^'

Следующая команда 'awk' будет искать и печатать строки, которые начинаются с символа 'p' и включают цифру 3.

продукты $ cat.текст
$ awk '/ ^ p.* 3 / print $ 0 'продуктов.текст

Следующий вывод будет произведен после выполнения вышеуказанных команд. Здесь есть одна строка, соответствующая шаблону.

Пример 3: определение шаблона регулярного выражения с помощью функции gsub

В gsub () функция используется для глобального поиска и замены текста. Следующая команда 'awk' будет искать слово 'Scanner' и заменять его словом 'Router' перед печатью результата.

продукты $ cat.текст
Продукты $ awk 'gsub (/ Scanner /, "Router")'.текст

Следующий вывод будет произведен после выполнения вышеуказанных команд. В одной строке содержится слово 'Сканер', а также 'Сканер'заменяется словом'Маршрутизатор'перед печатью строки.

Пример 4: Определите шаблон регулярного выражения с помощью '*'

Следующая команда 'awk' будет искать и печатать любую строку, которая начинается с 'Mo' и включает любой последующий символ.

продукты $ cat.текст
$ awk '/ Mo * / print $ 0' продуктов.текст

Следующий вывод будет произведен после выполнения вышеуказанных команд. Три строки соответствуют шаблону: две строки содержат слово 'Мышь'и одна строка содержит слово'Монитор'.

Пример 5: определение шаблона регулярного выражения с помощью символа '$'

Следующая команда 'awk' будет искать и печатать в файле строки, оканчивающиеся на цифру 5.

продукты $ cat.текст
$ awk '/ 5 $ / print $ 0' продуктов.текст

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

Пример 6: Определите шаблон регулярного выражения, используя '^' и '|' символы

'^символ 'обозначает начало строки, а'|'символ обозначает логическое ИЛИ. Следующая команда 'awk' будет искать и печатать строки, начинающиеся с символа 'п'и содержать либо'Сканер' или же 'Мышь'.

продукты $ cat.текст
$ awk '/ ^ p.* (Сканер | Мышь) / 'продукты.текст

Следующий вывод будет произведен после выполнения вышеуказанных команд. Выходные данные показывают, что две строки содержат слово 'Мышь'и одна строка содержит слово'Сканер'. Три строки начинаются с символа 'п'.

Пример 7: определение шаблона регулярного выражения с помощью символа '+'

'+'оператор используется для поиска хотя бы одного совпадения. Следующая команда 'awk' будет искать и печатать строки, содержащие символ 'п' Хотя бы один раз.

продукты $ cat.текст
$ awk '/ n + / print' продуктов.текст

Следующий вывод будет произведен после выполнения вышеуказанных команд. Здесь персонаж 'п'contains встречается хотя бы один раз в строках, содержащих слова Монитор, принтер и сканер.

Пример 8: определение шаблона регулярного выражения с помощью функции gsub ()

Следующая команда awk будет искать слово 'Принтер'и замените его словом'Монитор' с помощью функция gsub ().

продукты $ cat.текст
$ awk 'gsub (/ Printer /, «Monitor») print $ 0' продукты.текст

Следующий вывод будет произведен после выполнения вышеуказанных команд. Четвертая строка файла содержит слово 'Принтер'дважды, а на выходе'Принтер'был заменен словом'Монитор'.

Заключение

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

Средняя кнопка мыши не работает в Windows 10
В средняя кнопка мыши помогает пролистывать длинные веб-страницы и экраны с большим объемом данных. Если это прекратится, вы в конечном итоге будете и...
Как изменить левую и правую кнопки мыши на ПК с Windows 10
Совершенно нормально, что все устройства компьютерной мыши эргономичны для правшей. Но есть мышиные устройства, специально разработанные для левшей ил...
Эмуляция щелчков мыши с помощью мыши без щелчка в Windows 10
Использование мыши или клавиатуры в неправильной позе или чрезмерное использование может привести к множеству проблем со здоровьем, включая растяжение...