AWK — различия между версиями

Материал из megapuper
Перейти к: навигация, поиск
Строка 39: Строка 39:
 
  awk '<font color=blue>$3 <  40 { print $0 }</font>'
 
  awk '<font color=blue>$3 <  40 { print $0 }</font>'
  
 
+
Если разделитель не пробел, как например в /etc/password, то можно указать разделитель столбцов с помощью -F
 +
awk -F ':' '{print $1}'
  
  

Версия 01:23, 1 июня 2022

Базовый синтаксис awk

awk '{action}' filename

Когда нужно найти текст, соответствующий конкретному шаблону, или же конкретное слово в тексте, команда принимает следующий вид

awk '/regex pattern/{action}' filename


Вывод всего содержимого файла

awk '{print $0}' filename

Вывод всего содержимого файла с нумерацией строк

awk '{print NR,$0}'

Вывод определённого столбца

awk '{print $3}' filename

Вывод нескольких столбцов

awk '{print $1, $4}' filename

Вывод последнего столбца

awk '{print $NF}' filename

Вывод предпоследнего столбца

 awk '{print $NF-1}' filename

Вывод строк начинающихся с буквы A

awk '/^O/' filename

Вывод строк заканчивающихся с буквы F

awk '/F$/' filename

Вывод строк НЕ заканчивающихся буквой F

awk '! /F$/' filename

Вывод всех строк содержащих io

awk '/io/' filename

Вывод строк в которых значение 3го столбца меньше 40(столбец с цифрами)

awk '$3 <  40 { print $0 }'

Если разделитель не пробел, как например в /etc/password, то можно указать разделитель столбцов с помощью -F

awk -F ':' '{print $1}'


Вывести все хостнеймы(колонка 2) из строк которые начинаются с цифр(ипишек)

awk '/^[0-9]/{print $2}' /etc/hosts