Использование awk Linux Alpine
Опции awk
awk опции 'условие {действие}'
-F - разделитель полей
-f - использовать данные из файла
-v - присвоить значение переменной
-b - считать все символы однобайтовыми
-d - вывод всех переменных awk
-D - режим отладки, ввод команд с клавиатуры
-e - выполнить код на языке awk
-o - вывод результата в файл
-V - версия утилиты
Действия
print(строка) - вывод результата
system(команда) - выполняет команду в системе
length(строка) - длина строки
substr(строка, старт, кол-во) - обрезает строку
tolower(строка) - перевод строки в нижний регистр
toupper(строка) - перевод строки в верхний регистр
Переменные и операторы
FNR - номер обрабатываемой строки в файле
FS - разделитель полей
NF - кол-во колонок в строке
RS - разделитель строк
$ - ссылка на колонку по номеру
#По умолчанию в качестве разделителей полей ( колонок ) используется пробел, чтобы указать нужный разделитель используется опция -F
cat /etc/passwd | awk -F":" '{print $5}'
#Вывод последнего поля, если разделитель не указать и нет пробелов, тогда выведет каждую строку целиком
cat /etc/passwd | awk -F":" '{print $NF}'
#Можно получить предпоследнее поле
cat /etc/passwd | awk -F":" '{print $(NF-1)}'
#Печать строк в которых содрежится 'dev'
cat /etc/passwd | awk '/dev/ {print $1}'
#Получить значений поля 3 каждой строки
cat /etc/passwd | awk -F: '{sum+=$3} END {print sum}'
Источники
Связанные темы
Использование команды tee в Linux
Использование wget и curl в Linux
Команда chattr и lsattr в Linux
Блокировка пользователя в Linux
Проверка на необходимость перезапуска после обновления пакетов
Стандартные потоки и перенаправление ввода/вывода в Linux
Архивирование и сжатие файлов в Linux
Полезные команды и скрипты Linux
Условная конструкция if в Linux
Использование оператора select в языке shell
Внутренние и внешние команды linux
Использование конструкции case в Linux