Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ FreeBSD and Nix ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

SQL\T-SQL

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


AWK, простые примеры


Рассмотрим основные возможности команды(по сути языка программирования) - "AWK"

Формат ее таков: awk 'условие { действие }' , где условие является необязательным аргументом.

Примеры:

Вывод определенных стобцов:
[root@centos ~]# ps
  PID TTY          TIME CMD
42358 pts/0    00:00:00 bash
42710 pts/0    00:00:00 ps

[root@centos ~]# ps | awk ' {print $1,$3} '
PID TIME
42358 00:00:00
42711 00:00:00
42712 00:00:00

Вывод всех столбцов с фильтром по условию:
[root@centos ~]# ps | awk ' /'bash'/ {print $0} '
42358 pts/0    00:00:00 bash

Вывод строк из файла с уловием по длинне:
[root@centos ~]# awk 'length($0) > 2' test.txt
436

Вывод случайных чисел с помощью цикла for:
[root@centos ~]# awk 'BEGIN { for (i = 1; i <= 5; i++) print int(i * rand()) }'
0
0
2
0
2

Вывод в килобайтах суммы всех файлов в директории:
[root@centos ~]# ls -l | awk '{ total += $5 } ; END { print "total kilobytes: " (total + 1023)/1024 }'
total kilobytes: 2.26074

Вывод информации о сетях из файла с указанием разделителя межу полями:
[root@centos ~]# awk -F " " '{ print $2 }' /etc/networks
0.0.0.0
127.0.0.0
169.254.0.0

Вывести каждую нечетную строку из файла:
[root@centos ~]# cat /etc/networks | awk 'NR % 2 != 0'
default 0.0.0.0
link-local 169.254.0.0

Вывести их файла строки, в которых есть 2 или 6:
[root@centos ~]# cat test.txt | awk '/2/ || /6/'
2
27
436
27


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.
Весь материал на сайте носит ознакомительный характер,
за его использование другими людьми, автор ответственности не несет.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект