AWK!

            AWK является мощным инструментом для редактирования , который является более мощным , чем СЭД функциональность может быть достигнута при отсутствии взаимодействия ситуации
довольно сложный текст манипуляции.

синтаксис 1.awk

     AWK [опции] печать $ 1 'имя_файла 

опции

    -F указать разделитель

2, AWK встроенной переменной
          · FS: Указать каждую строку текста в разделитель полей, пробел или вкладка по умолчанию останавливается
          · NF: количество полей в данный момент обрабатываются строки (число столбцов)
          порядковый номер текущей обработки строк: · NR (число строк)
          * $ 0: все содержимое строки в данный момент обрабатываемой строки
         · $ N: N-й в данный момент обрабатываемого поля (п-й столбец)

          Печать: Печать
 3, использование AWK
во время использования может быть логические операторы &&, средства «и» || означает «или»! Это указывает на «неактивный», также
выполнять простые математические операции, такие как +, -, *, /,%, ^ соответственно сложение, вычитание, умножение, деление, по модулю, инволюции

4, AWK на основе пространства и вкладок, каждая строка разделена на несколько полей, последовательно промывали $ 1, $ 2, $ 3 представляет собой первое поле, второе поле, третье поле и тому подобное.

================================================== =====================

[корень @ локальный ~] # кошка awk.txt
abcgsg
баннера
возраст
пищевых
ног
более

010-123456
0791-1235677
IP 192.168.200.1
IP 192.168.200.111
IP 192.168.200.11
aBggfH
Bggsgs
gaglag1

Бумага для печати 

[корень @ локального ~] # AWK ' {} печать ' awk.txt печати печать показывая abcgsg Баннер Возраст Пищи Feet ' Больше 010 - 123456 0791 - 1,235,677 IP 192,168 . 200,1 IP 192,168 . 200,111 IP 192,168 . 200,11 aBggfH Bggsgs gaglag1
Содержание выходной линии 1-3 

[корневой @ lokalny_host ~] # AWK ' (NR> = 1) && (NR <=. 3)} {Print ' awk.txt линия представляет собой NR abcgsg Баннер Возраст

выходной линии и три 1

 [корень @ локальный ~] # AWK 'NR == 1 || NR == 3 {печать}' awk.txt
  abcgsg
  возраст

 
Все выходные базовая строка 

[корень @ локальный ~] # AWK '(NR 2%) 1 == {} Печать ' awk.txt% указывает модулю abcgsg Возраст Feet ' 0791 - 1235677 IP 192,168 . 200,111 aBggfH gaglag1 вывести все четные строки [корень @ локальный
~] # AWK ' (NR% 2) == 0} {Print ' awk.txt Banner Food Больше 010 - 123456 IP 192,168 . 200,1 IP 192,168 . 200.11 Bggsgs
Выход первой буквы заглавной


[корень @ локальный ~] # AWK ' / ^ [AZ] / {печать} ' awk.txt Bggsgs
Mem: оставшийся объем памяти 

[корень @ локальный ~ ] # Free Всего использовано Free Shared BUFF / Cache Доступные Mem: 995 896 590 816 63260 8248 341 820 195436 Swap: 2097148 +27648 2069500 [корень @ локальный ~] # Free | AWK ' / Mem: / { ($. * 3/2 $ 100) "%" Печать INT} ' $. 3 показан третий столбец, второй столбец представляет $ 2 59 %

отфильтрованную бесплатно суммарная мощность

 [корень @ локальный ~] # бесплатно | Grep 'Mem:' | AWK '{печать $ 2}'
 995896

过滤IP地址

[корень @ локальный ~ ] # Ifconfig ens33 ens33: флаги = 4163 <UP, ПЕРЕДАЧА, RUNNING, MULTICAST> МТУ 1500 инет 192,168 . 200,115 маска подсети 255,255 . 255,0 вещания 192.168 . 200.255 Inet6 fe80 :: 656c: 1296 : c062: 6af7 длинной префикса 64 ScopeId 0x20 <ссылка> эфир 00 : 0C: 29 : c3: изд: 86 txqueuelen 1000 (Ethernet) RX пакеты 4184 байтов1545149 ( 1,4 MiB) ошибки RX 0 упали 0 перерасхода 0 кадра 0 TX пакетов 2329 байт 257278 ( 251,2 KiB) TX ошибки 0 упал 0 перерасход 0 носителя 0 соударения 0 [корень @ локальный ~] # Ifconfig ens33 | AWK -F ' [:] + ' ' NR == 2 {печати $ 3} ' 192.168 . 200,115
1 , извлекает / и т.д. / файл PASSWD который, UID меньше , чем имя пользователя 1000 информации и UID 

[корневой @ server0 ~] # AWK -F: '$ 3 <1000 {. Печать $ 1, $ 3} ' / и т.д. / PASSWD 



2 , извлеченный / и т.д. / пароль файл , который, среда оболочки "/ бен / Баш" пользовательской информации оболочка имеет информация 

[server0 корень @ ~] # AWK -F: ' . $ НФ == "/ бен / Баш" 1 {Print $, $ из NF} ' / и т.д. / в PASSWD 



. 3 , извлечь / и т.д. / файл PASSWD между именем пользователя первой строки ко второй строке 5 информации 

[корень @ server0 ~] # AWK -F: ' (NR> = 1 && NR <= 5. .) 1} {Печать $ ' / и т.д. / PASSWD 



4. , печать / эт / в PASSWD нечетные строки 

[server0 корень @ ~] # AWK -F: '{IF (! NR% 2 = 0) Версия для печати $ 0} ' / и т.д. / PASSWD 



5. , Печать UID не совпадает с именем пользователя GID 

[корень @ server0 ~] # AWK -F: ' . {IF печати $ 1 (..! $ 3 = $ 4) } ' / и т.д. / PASSWD
 

6. .awk извлеченный журнал IP адрес пользователя 

[fengxiaoli41 корневой @ ~] # ВОЗ | хвост - 1. | AWK -F " [()] + "  ' {} 5 Печать $. ' 

192,168 . 10,1

 

Фильтр / и т.д. / пароль имя пользователя из 

[корневой @ lokalny_host ~] # AWK -F ' : ' ' {} 1 Печать $. ' / И т.д. / пароль

корень
бен
демон
адм
LP
синхронизации

....

......

 

рекомендация

отwww.cnblogs.com/cxm123123form/p/11456989.html