Что такое awk linux

Содержание
  1. Что такое awk linux
  2. Русские Блоги
  3. Команда Linux awk
  4. 1. Что такое AWK
  5. 2. Основные принципы AWK
  6. 2.1 Принцип:
  7. 2.2 Синтаксис:
  8. 2.3 описание паттерна
  9. 3. Встроенные переменные
  10. 4. Встроенные функции
  11. 5. Оператор
  12. 5.1 Оператор
  13. 5.2 Предикат
  14. 6. Процесс контроля
  15. 6.1. BEGIN и END
  16. 6.2 Заявление об управлении потоком
  17. 7. Взаимодействие между awk и оболочкой
  18. Интеллектуальная рекомендация
  19. Используйте Maven для создания собственного архетипа скелета проекта (4)
  20. Станция интерпретации больших данных B пользуется популярностью среди гигантов района «призрачные животные» Цай Сюкуня.
  21. Вопрос A: Алгоритм 7-15: алгоритм кратчайшего пути Дейкстры
  22. Учебный дневник — перелистывание страниц
  23. Нулевое основание для отдыха-клиента
  24. Вам также может понравиться
  25. Подробно объясните, как новички используют sqlmap для выполнения инъекционных атак на базы данных mysql.
  26. Vue заметки сортируют, пусть вам начать с Vue.js:. 04_3 Сетевое приложение: AXIOS плюс Вью
  27. Шаблон алгоритма конной повозки
  28. 35 Line Code, чтобы получить метод исследования событий (ON)
  29. Образ докера: gitlab
  30. Команда AWK в Linux с примерами
  31. Как работает awk
  32. Записи и поля
  33. Программа awk
  34. Выполнение программ awk
  35. Шаблоны AWK
  36. Шаблоны регулярных выражений
  37. Шаблоны реляционных выражений
  38. Шаблоны диапазонов
  39. Специальные шаблоны выражения
  40. Комбинирование узоров
  41. Встроенные переменные
  42. Изменение поля и разделителя записей
  43. Действия при отсутствии нагрузки
  44. Использование переменных оболочки в программах AWK
  45. Выводы

Что такое awk linux

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

Утилита AWK изначально объединяла свойства утилит UNIX — sed и grep . В дальнейшем ее возможности значительно расширились. Настоящая документация ограничивается описанием возможностей утилиты AWK реализованной для компьютеров CONVEX . Утилита AWK была создана в 1977г, американскими авторами: Alfred V.Aho , Brian W.Kernighan и Peter J.Weinberger . Подробное описание всех возможностей утилиты AWK для UNIX дает их издание: «The AWK Programming Language», 1988.

AWK сканирует input (стандартный или указываемый набор файлов), и над строками, удовлетворяющими заданному образцу, выполняет указываемые действия. Строка может содержать максимально до 256 символов.

awk [-Fc] [-f file] [files]

awk [-Fc] [prog] [files]

prog — программа, вида: ‘ образец $<$действие$>$ ‘

file — файл с AWK-программой:

files — файлы, предназначенные для AWK-обработки.

-Fc — устанавливает разделитель полей в «с» (См. 1.2.1 и 2.4)

2. Образец:

  • Регулярное выражение;
  • Выражение отношения;
  • Комбинация образцов;
  • BEGIN и END .

3. Действие:

  • Последовательность предложений, разделенных « ; » или « \n » (новая строка)

Предложение:

  1. Вывод (Печать);
  2. Присваивание;
  3. Встроенная функция;
  4. Управляющая структура.

На поля можно ссылаться из AWK программы следующим образом:

  1. $1 — Первое поле;
  2. $2 — Второе поле;
  3. . и так далее.
  4. $0 — Ссылается на всю строку целиком.

Строка может содержать максимально до 100 полей.

&lt Drawing or tabular insertion skipped. &gt

x = 1 , x воспринимается как число;

x = » » , x — строка;

x + «abc» — результат операции интерпретируется как число независимо от того, было ли х числом или строкой. Если строка не может быть интерпретирована как число ( «abc» ), то ее значение становится 0.

Строка может содержать максимально до 256 символов.

$1 = «3» + $2 — первое поле принимает значение второго поля, увеличенного на 3.

$(i+1) — интерпретируется как поле, номер которого зависит от значения переменной i .

x[NR] = $0 — элементу массива x , индексированному NR , присваивается обрабатываемая строка.

x[«apple»] — элементы массива могут индексироваться не числовым значением, т.е. строкой.

  • «( )» — Скобки допускаются для группирования;
  • » |» — Указание альтернативы «или»;
  • » + » — Плюс, стоящий за регулярным выражением означает любую последовательность вхождений этого выражения, начиная с 1;
  • » ? » — Знак вопроса за регулярным выражением означает 0 или 1 вхождений этого выражения;
  • [A-Z] — Допускается сокращенная форма записи для рангов ASCII символов;
  • Установленный порядок выполнения операторов на одном скобочном уровне: «[] * + ? конкатенация |» .

/Olga/ — Указывает на строки, содержащие Olga .

/[Oo]lga|[Mm]ike|[Mm]al/ — Указывает на строки, содержащие Olga или olga или Mike или mike или Mal или mal .

/number1/ — Указывает на строки, содержащие number0 или number1 или . number9 .

/\/.+\// — Указывает на строки, содержащие любое количество символов, больше или равное 1, заключенных в / / .

Лог. Операция: &lt , &lt = , == , != , &gt = , &gt .

/[Oo]lga/ — Указывает на строки, первое поле которых содержит Olga или olga .

$1 &gt = «s» — Указывает на строки, начинающиеся с символа s или следующих за ним по порядку: t , u , v .

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

Комбинация: «образец1, образец2» указывает, что действие выполняется над строками, попадающими в указанный ранг: то есть, начиная от строки, удовлетворяющей «образец1″ и вплоть до строки, удовлетворяющей «образец2″, включая ее саму.

/\.su/) — Указывает на строки, содержащие 02.95 и не имеющие .su одновременно в первом и во втором поле.

NR == 100, NR == 200 — Указывает строки с номерами от 100 до 200.

Образец BEGIN указывает на начало input или на те действия, которые должны быть выполнены до какого бы то ни было анализа строк. Образец END указывает на конец input или на те действия, которые должны быть выполнены после обработки всех строк.

BEGIN — Устанавливает разделитель полей в «:» до начала обработки строк. Эквивалентно опции «-F:» при AWK вызове.

END < print NR >— Печатает номер последней строки input , т.е. количество обработанных входных строк.

PRINT [&lt список выражений &gt ] [ &gt &lt выражение1 &gt ]

Если в списке выражения находятся через запятую, то значения этих выражений выводятся на output (печатаются) через символ-разделитель OFS (по умолчанию пробел). Если же выражения стоят через пробел, то на печати происходит их конкатенация.

Значение &lt выражения1 &gt рассматривается как имя файла. Само его присутствие означает печать в файл. Если вместо « &gt » стоит « &gt &gt », то это означает добавление к уже существующему файлу. Можно использовать в одной программе максимально до 10 output файлов.

Оператор форматированной печати:

PRINTF формат [ ,список выражений ] [ &gt выражение1 ]

формат: символьная строка в двойных кавычках. Идентичен формату, используемому в функции printf в языке «С». Формат может содержать:

  • обычные символы, они копируются на output .
  • esc последовательности, представляющие неграфические символы, например, «\n» — новая строка.
  • спецификации для вывода аргументов, они следуют после символа « % ». Число спецификаций должно быть равно числу аргументов. (Если оно меньше числа аргументов, то лишние аргументы игнорируются, если же больше — то это ошибка)

&lt переменная &gt = &lt выражение &gt

Начальное значение переменной 0 или « » (пробел). Допускаются другие типы присваивания в соответствии с языком «С»: «+=» , «-=» , «*=» , «/=» , «%=» .

&lt переменная &gt ++ , ++&lt переменная &gt — увеличение значения переменной на 1.

&lt переменная &gt — , —&lt переменная &gt — уменьшение значения переменной на 1.

length(arg) — Функция длины arg . Если arg не указан, то выдает длину текущей строки.

exp(),log(),sqrt() — Математические функции экспонента, логарифм и квадратный корень.

int() — Функция целой части числа.

substr(s,m,n) — Возвращает подстроку строки s , начиная с позиции m , всего n символов.

index(s,t) — Возвращает начальную позицию подстроки t в строке s . (Или 0, если t в s не содержится.)

sprintf(fmt,exp1,exp2. ) — Осуществляет форматированную печать (вывод) в строку, идентично PRINTF .

split(s,array,sep) — Помещает поля строки s в массив array и возвращает число заполненных элементов массива. Если указан sep , то при анализе строки он понимается как разделитель.

if ( &lt условие &gt ) &lt предложение &gt

\hskip 1cm [else &lt предложение &gt ]

while ( &lt условие &gt ) &lt предложение &gt

\hskip 1cm &lt предложение &gt

for(i=1; i&lt =NF; i++) — Аналогично циклу for в языке «С»

for (i in array) — Цикл по элементам массива. Но, элементы массива доступны в этом случае в случайном порядке.

break — Немедленный выход из цикла.

continue — Переход к выполнению следующего предложения.

next — Немедленный переход к анализу следующей строки.

exit — Выход из программы (на конец input).

Источник

Русские Блоги

Команда Linux awk

1. Что такое AWK

(1) инициалы трех изобретателей Ахо, Вайнбергера и Кернигана;

(2) Средство обработки строчного текста;

2. Основные принципы AWK

2.1 Принцип:

Построчно обрабатывать данные в файле

2.2 Синтаксис:

awk ‘pattern +
Описание:

  • (1) Одиночная кавычка ‘’ предназначена для отличия от команд оболочки;
  • (2) Фигурные скобки <> обозначают группу команд;
  • (3) Шаблон — это фильтр, что означает, что строки, попадающие в шаблон, обрабатываются действием;
  • (4) Действие — это действие обработки;
  • (5) Используйте # как комментарий;
    Пример: отображать строки с 3 по 5 в hello.txt

2.3 описание паттерна

Параметр шаблона может быть одним из регулярных значений egrep, регулярное использование / шаблон /
Пример. Отображение строки, соответствующей hello в hello.txt.

  • (1) Паттерн и действие могут иметь только одно, но не оба;
  • (2) Действие по умолчанию — печать;
    Пример: отображение номера строки в hello.txt с длиной больше 100

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

Разделитель FS, по умолчанию — пробел
NR номер текущей строки, начиная с 1
NF Количество полей в текущей записи
$ 0 текущая запись
1 1

1 n-е поле текущей записи

Пример: отобразить первый и последний столбцы со строки 3 по строку 5 в hello.txt

4. Встроенные функции

gsub (r, s): заменить r на s в $ 0
index (s, t): возвращает первую позицию t в s
length (s): длина s
match (s, r): соответствует ли s r
split (s, a, fs): разбить s на последовательность a на fs
substr (s, p): возвращает подстроку строки s, начиная с p

5. Оператор

5.1 Оператор

Подобно c, поддерживает множество операций, таких как +, -, *, /,%, ++, -, + =, — =;

5.2 Предикат

Подобно c, он поддерживает множество операций оценки, таких как ==,! =,>, =>,

6. Процесс контроля

6.1. BEGIN и END

BEGIN и END по сути являются шаблоном.
BEGIN используется для выполнения некоторой работы по инициализации перед запуском программы awk;
END используется для завершения некоторых работ перед завершением программы awk.
Пример: подсчитать количество символов

6.2 Заявление об управлении потоком

  • (1)if(condition)<>else<>
  • (2)while<>
  • (3)do<>while(condition);
  • (4)for(init;condition;step)<>
  • (5) break / continue: если есть КОНЕЦ, будут выполнены отделочные работы в КОНЕЦ
    Использование оператора управления потоком почти такое же, как в c.

7. Взаимодействие между awk и оболочкой

  • (1) Используйте переменные, определенные в оболочке в awk: используйте одинарные кавычки;
  • (2) Используйте команды оболочки в awk: используйте двойные кавычки или системные команды;
  • (3) Переменные в awk передаются в оболочку: хорошего способа нет, просто используйте файл честно;
  • (4) getline: в awk считывать переменные из файла в awk

Интеллектуальная рекомендация

Используйте Maven для создания собственного архетипа скелета проекта (4)

Один, базовое введение в Maven Во-вторых, скачайте и настройте Maven Три, настроить домашнее зеркало на Али В-четвертых, создайте содержимое скелета архетипа В-пятых, создайте проект через архетип 6. .

Станция интерпретации больших данных B пользуется популярностью среди гигантов района «призрачные животные» Цай Сюкуня.

Автор | Сюй Линь Ответственный редактор | Ху Вэйвэй Предисловие Недавно Цай Сюкунь отправил письмо юриста на станцию ​​B. Содержание письма юриста показало, что «на станции B имеется большое кол.

Вопрос A: Алгоритм 7-15: алгоритм кратчайшего пути Дейкстры

Название Описание Во взвешенном ориентированном графе G для исходной точки v задача о кратчайшем пути от v до оставшихся вершин в G называется задачей кратчайшего пути с одной исходной точкой. Среди ш.

Учебный дневник — перелистывание страниц

Используйте плагин Layui.

Нулевое основание для отдыха-клиента

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

Вам также может понравиться

Подробно объясните, как новички используют sqlmap для выполнения инъекционных атак на базы данных mysql.

Шаг 1. Откройте для себя инъекцию Со мной все было нормально, когда я был свободен, я случайно нажал на чужой блог и обнаружил, что ссылка заканчивается на id, поэтому я проверил его вручную. Результа.

Vue заметки сортируют, пусть вам начать с Vue.js:. 04_3 Сетевое приложение: AXIOS плюс Вью

В предыдущем разделе мы ввели основное использование AXIOS, по сравнению с нативным Ajax, который при условии, что способ является более простым и, а сетевые данные теперь в состоянии получить его ров.

Шаблон алгоритма конной повозки

Блог гангстеров Тележки, запряженные лошадьми, используются для решения проблемы самой длинной подстроки палиндрома. Основное внимание уделяется подстрокам, а не подпоследовательностям. Если вы хотите.

35 Line Code, чтобы получить метод исследования событий (ON)

Об авторе: Чжу Сяою,Личный публичный номер: языковой класс большой кошки Эта проблема научит вас этой большой классе Cat.Как написать наиболее эффективное метод исследования событий с 35 Line R Code C.

Образ докера: gitlab

GitLab Docker images Both GitLab CE and EE are in Docker Hub: GitLab CE Docker image GitLab EE Docker image The GitLab Docker images are monolithic images of GitLab running all the necessary services .

Источник

Команда AWK в Linux с примерами

Awk — это язык сценариев общего назначения, предназначенный для расширенной обработки текста. В основном он используется как инструмент отчетности и анализа.

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

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

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

Существует несколько различных реализаций awk. Мы будем использовать GNU-реализацию awk, которая называется gawk. В большинстве систем Linux интерпретатор awk — это просто символическая ссылка на gawk .

Записи и поля

Awk может обрабатывать текстовые файлы данных и потоки. Входные данные разделены на записи и поля. Awk работает с одной записью за раз, пока не будет достигнут конец ввода. Записи разделяются символом, который называется разделителем записей. Разделителем записей по умолчанию является символ новой строки, что означает, что каждая строка в текстовых данных является записью. Новый разделитель записей может быть установлен с помощью переменной RS .

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

Поля в каждой записи обозначаются знаком доллара ( $ ), за которым следует номер поля, начинающийся с 1. Первое поле представлено с помощью $1 , второе — с помощью $2 и так далее. На последнее поле также можно ссылаться с помощью специальной переменной $NF . На всю запись можно ссылаться с помощью $0 .

Вот визуальное представление, показывающее, как ссылаться на записи и поля:

Программа awk

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

Когда awk обрабатывает данные, если шаблон соответствует записи, он выполняет указанное действие с этой записью. Если у правила нет шаблона, все записи (строки) совпадают.

Действие awk заключено в фигурные скобки ( <> ) и состоит из операторов. Каждый оператор определяет операцию, которую нужно выполнить. В действии может быть несколько операторов, разделенных новой строкой или точкой с запятой ( ; ). Если правило не имеет действия, по умолчанию выполняется печать всей записи.

Awk поддерживает различные типы операторов, включая выражения, условные операторы, операторы ввода, вывода и т. Д. Наиболее распространенные операторы awk:

  • exit — останавливает выполнение всей программы и выходит.
  • next — останавливает обработку текущей записи и переходит к следующей записи во входных данных.
  • print — Печать записей, полей, переменных и настраиваемого текста.
  • printf — дает вам больше контроля над форматом вывода, аналогично C и bash printf .

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

Выполнение программ awk

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

При запуске программы в командной строке ее следует заключать в одинарные кавычки ( » ), чтобы оболочка не интерпретировала программу.

Если программа большая и сложная, лучше всего поместить ее в файл и использовать параметр -f для передачи файла команде awk :

В приведенных ниже примерах мы будем использовать файл с именем «team.txt», который выглядит примерно так:

Шаблоны AWK

Шаблоны в awk определяют, следует ли выполнять соответствующее действие.

Awk поддерживает различные типы шаблонов, включая регулярное выражение, выражение отношения, диапазон и шаблоны специальных выражений.

Если у правила нет шаблона, сопоставляется каждая входная запись. Вот пример правила, содержащего только действие:

Программа распечатает третье поле каждой записи:

Шаблоны регулярных выражений

Регулярное выражение или регулярное выражение — это шаблон, который соответствует набору строк. Шаблоны регулярных выражений AWK заключаются в косую черту ( // ):

Самый простой пример — это буквальное сопоставление символа или строки. Например, чтобы отобразить первое поле каждой записи, содержащее «0,5», вы должны выполнить следующую команду:

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

Шаблоны реляционных выражений

Шаблоны реляционных выражений обычно используются для сопоставления содержимого определенного поля или переменной.

По умолчанию шаблоны регулярных выражений сопоставляются с записями. Чтобы сопоставить регулярное выражение с полем, укажите поле и используйте оператор сравнения «содержать» (

Например, чтобы напечатать первое поле каждой записи, второе поле которой содержит «ia», вы должны ввести:

Чтобы сопоставить поля, которые не содержат заданного шаблона, используйте оператор !

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

Шаблоны диапазонов

Шаблоны диапазонов состоят из двух шаблонов, разделенных запятой:

Все записи, начинающиеся с записи, соответствующей первому шаблону, до совпадения с записью, соответствующей второму шаблону.

Вот пример, который напечатает первое поле всех записей, начиная с записи, включая «Raptors», до записи, включающей «Celtics»:

Шаблоны также могут быть выражениями отношений. Приведенная ниже команда распечатает все записи, начиная с той, четвертое поле которой равно 32, до той, четвертое поле которой равно 33:

Шаблоны диапазона нельзя комбинировать с другими выражениями шаблона.

Специальные шаблоны выражения

Awk включает следующие специальные паттерны:

  • BEGIN — используется для выполнения действий перед обработкой записей.
  • END — используется для выполнения действий после обработки записей.

Шаблон BEGIN обычно используется для установки переменных, а шаблон END для обработки данных из записей, таких как вычисления.

В следующем примере печатается «Начать обработку.», Затем печатается третье поле каждой записи и, наконец, «Завершить обработку».

Если программа имеет только шаблон BEGIN , действия выполняются, а ввод не обрабатывается. Если в программе есть только шаблон END , ввод обрабатывается перед выполнением действий правила.

Версия awk для Gnu также включает еще два специальных шаблона BEGINFILE и ENDFILE , которые позволяют выполнять действия при обработке файлов.

Комбинирование узоров

Awk позволяет комбинировать два или более шаблонов, используя логический оператор И ( && ) и логический оператор ИЛИ ( || ).

Вот пример, в котором оператор && используется для печати первого поля той записи, у которой третье поле больше 50, а четвертое поле меньше 30:

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

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

  • NF — количество полей в записи.
  • NR — номер текущей записи.
  • FILENAME — имя входного файла, который в данный момент обрабатывается.
  • FS — Разделитель полей.
  • RS — Разделитель записей.
  • OFS — Разделитель выходных полей.
  • ORS — разделитель выходной записи.

Вот пример, показывающий, как напечатать имя файла и количество строк (записей):

Переменные в AWK могут быть установлены в любой строке программы. Чтобы определить переменную для всей программы, поместите ее в шаблон BEGIN .

Изменение поля и разделителя записей

По умолчанию значение разделителя полей — любое количество пробелов или символов табуляции. Его можно изменить, установив в переменной FS .

Например, чтобы установить разделитель полей . вы бы использовали:

Разделитель полей также может содержать более одного символа:

При запуске однострочных команд awk в командной строке вы также можете использовать параметр -F для изменения разделителя полей:

По умолчанию разделителем записей является символ новой строки, который можно изменить с помощью переменной RS .

Вот пример, показывающий, как изменить разделитель записей на . :

Действия при отсутствии нагрузки

Действия awk заключаются в фигурные скобки ( <> ) и выполняются при совпадении с шаблоном. Действие может иметь ноль или более утверждений. Несколько операторов выполняются в том порядке, в котором они появляются, и должны быть разделены новой строкой или точкой с запятой ( ; ).

В awk поддерживается несколько типов операторов действий:

  • Выражения, такие как присваивание переменных, арифметические операторы, операторы увеличения и уменьшения.
  • Управляющие операторы, используемые для управления потоком программы ( if , for , while , switch и т. Д.)
  • Операторы вывода, такие как print и printf .
  • Составные утверждения, чтобы сгруппировать другие утверждения.
  • Операторы ввода, чтобы управлять обработкой ввода.
  • Операторы удаления для удаления элементов массива.

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

При печати нескольких элементов их нужно разделять запятыми. Вот пример:

Печатные материалы разделяются одиночными пробелами:

Если вы не используете запятые, между элементами не будет пробелов:

Печатные элементы объединены:

Когда print используется без аргументов, по умолчанию используется print $0 . Текущая запись будет напечатана.

Чтобы напечатать собственный текст, вы должны заключить текст в двойные кавычки:

Вы также можете печатать специальные символы, такие как новая строка:

Оператор printf дает вам больше контроля над форматом вывода. Вот пример вставки номеров строк:

printf не создает новую строку после каждой записи, поэтому мы используем n :

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

Вот еще один пример, показывающий, как использовать выражения и управляющие операторы для печати квадратов чисел от 1 до 5:

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

Запустите программу, передав имя файла интерпретатору awk :

Вы также можете запустить программу awk как исполняемый файл, используя директиву shebang и установив интерпретатор awk :

Теперь вы можете запустить программу, введя:

Использование переменных оболочки в программах AWK

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

Рекомендуемый способ использования переменных оболочки в программах awk — присвоить переменную оболочки переменной awk. Вот пример:

Выводы

Awk — один из самых мощных инструментов для работы с текстом.

Эта статья едва затрагивает поверхность языка программирования awk. Чтобы узнать больше об awk, ознакомьтесь с официальной документацией Gawk .

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

Читайте также:  Ошибка apphangb1 windows 10
Оцените статью