Инструменты пользователя

Инструменты сайта


генератор_отчетов_awk

Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
генератор_отчетов_awk [2012/02/15 14:33]
val
генератор_отчетов_awk [2018/07/12 08:01] (текущий)
val [Выбор строк по числовому условию]
Строка 1: Строка 1:
 ====== Генератор отчетов awk ====== ====== Генератор отчетов awk ======
  
-[[http://​ru.wikipedia.org/​wiki/​AWK]] +  * [[https://​youtu.be/​4PkkMzB7fIM|Видео:​ Генератор отчетов AWK]] 
- +  * [[https://​ru.wikipedia.org/​wiki/​AWK|AWK в Википедии]] 
-[[http://​lib.ru/​MAN/​DEMOS210/​awk.txt]]+  ​* ​[[http://​lib.ru/​MAN/​DEMOS210/​awk.txt|Язык обработки структурированных текстов AWK]]
  
 ===== Печать исходных данных без изменений ===== ===== Печать исходных данных без изменений =====
Строка 25: Строка 25:
 ===== Использование заголовков и итогов в отчетах,​ использование переменных ===== ===== Использование заголовков и итогов в отчетах,​ использование переменных =====
 <​code>​ <​code>​
-$ awk -F: 'BEGIN {print "Users used csh"; count=0} /csh$/ {print $1; count++} END {print count " users"​}'​ /etc/passwd+$ awk -F: 'BEGIN {print "Users used /bin/sh:"; count=0} /bin\/sh$/ {print $1; count++} END {print ​"​Summary:" ​count " users"​}'​ /etc/passwd
 </​code>​ </​code>​
 +
 ===== Обработка файла почтового ящика пользователя ===== ===== Обработка файла почтового ящика пользователя =====
 с какой строки начинается и от кого письмо с какой строки начинается и от кого письмо
 <​code>​ <​code>​
-$ ee ex1.awk 
- 
 $ cat ex1.awk $ cat ex1.awk
 +</​code><​code>​
 BEGIN {st=1} BEGIN {st=1}
 /^$/ {st=1} ​ /^$/ {st=1} ​
Строка 39: Строка 39:
         }          } 
 !/^$/ {st=0} !/^$/ {st=0}
- +</​code><​code>​ 
-$ awk -f ex1.awk /var/mail/uX+$ awk -f ex1.awk /var/mail/user1 
 +</​code><​code>​
 String 1 String 1
-From u0@server.class ​Tue Oct 18 10:05:44 2005 +From user1@host19.class.un Wed Feb 15 05:41:42 2012 
-String ​21 +String ​19 
-From u0@server.class ​Tue Oct 18 10:05:49 2005 +From user2@host19.class.un Wed Feb 15 05:41:58 2012 
-String ​41 +</​code><​code>​
-From u5@server.class Tue Oct 18 10:05:49 2005 +
 Переслать отдельное письмо:​ Переслать отдельное письмо:​
  
-tail -n +21 /var/mail/uX | formail -1 -s sendmail val@bmstu.ru+tail -n +21 /var/mail/user1 | formail -1 -s sendmail val@bmstu.ru
 </​code>​ </​code>​
  
-===== Отчет по суммарному ​количеству товаров на складе ​=====+ 
 +===== Выбор строк ​по числовому ​условию ===== 
 + 
 +  * Пример назначения значений переменным и использования переменных ​окружения 
 +  * [[Команды фильтры#​Вывод списка ip адресов из файла]] 
 <​code>​ <​code>​
-vi wares.txt+cat list_count_ip.txt 
 +</​code><​code>​ 
 +32 172.16.1.5 
 +15 172.16.1.3 
 +11 172.16.1.4 
 +24 172.16.1.1 
 +</​code><​code>​ 
 +$ COUNT=12
  
 +$ cat list_count_ip.txt | awk -v c=$COUNT '{if ($1 > c) print $2}'
 +</​code>​
 +
 +===== Отчет по суммарному количеству товаров на складе =====
 +<​code>​
 $ cat wares.txt $ cat wares.txt
 +</​code><​code>​
 table:34 table:34
 car:24 car:24
 apple:23 apple:23
 car:12 car:12
- +</​code><​code>​
-$ vi ex2.awk +
 $ cat ex2.awk $ cat ex2.awk
 +</​code><​code>​
 { {
         M[$1]+=$2         M[$1]+=$2
Строка 74: Строка 90:
         }         }
 } }
 +</​code><​code>​
 $ awk -F: -f ex2.awk wares.txt $ awk -F: -f ex2.awk wares.txt
 +</​code><​code>​
 sum apple=23 sum apple=23
 sum car=36 sum car=36
 sum table=34 sum table=34
 </​code>​ </​code>​
генератор_отчетов_awk.1329301999.txt.gz · Последние изменения: 2013/05/22 13:50 (внешнее изменение)