|
![]() |
|||||
OSS Group :: Admin :: Использование awk |
||||||
|
Использование awkAWK - интерпретируемый язык. Основное назначение: обработка потоков текстовой информации. Каждая строка, проходящая через AWK, разбивается на поля. Разделитель полей по-умолчанию - пробел, другой разделитель может быть задан или через ключ командной строки -F<delimiter char>, или через встроенную переменную FS: Встроенные переменные: Примеры использования:
# cat /var/log/httpd/access_log | awk '{print $1}' | sort | uniq -c
$ cat /etc/passwd | awk -F: '{print $5}'
$ cat /etc/passwd | awk 'BEGIN { FS=":"} {print $5}'
$ cat /etc/passwd | awk 'BEGIN { FS=":" } { split($5,gecos,","); nf=split(gecos[1],name," "); print name[nf], name[1]}'
#!/bin/bash
awk -F: '{
print "dn: cn="$1",ou=People,o=MyOrg,c=US"
print "objectClass: top"
print "objectClass: person"
print "objectClass: organizationalPerson"
print "objectClass: inetOrgPerson"
print "objectClass: posixAccount"
print "objectClass: inetLocalMailRecipient"
print "objectClass: shadowAccount"
print "uid: "$1
gfields = split($5,gecos,",")
namefield = split(gecos[1], fullname, " ")
print "sn: " fullname[namefield]
print "givenName: "fullname[1]
print "cn: " $1
print "userPassword: {crypt}"$2
print "loginShell: "$7
print "uidNumber: "$3
print "gidNumber: "$4
print "homeDirectory: "$6
print "gecos: "$5
print "mail: "$1"@myorg.com"
if (gecos[3] != "" && gecos[3] != "NONE")
print "roomNumber: " gecos[3]
if (gecos[4] != "" && gecos[4] !~ /.*xx.*/ && gecos[4] !="NONE")
print "telephoneNumber: "gecos[4]
print "displayName: " gecos[1]
print ""
}'
Ссылки
Дата создания: 2006-05-24 13:35:05 (Фетисов Н. А. (naf)) Wiki::Admin Оглавление Карта раздела Изменения за сутки Изменения за неделю Изменения за месяц |
|
© 2006-2025 OSS Group. All rights reserved. | Техническая поддержка: Открытые Информационные Технологии и Системы
|
![Valid RSS feed [Valid RSS]](/files/ossg/images/banners/valid-rss-rogers.png)