天天看點

awk

用法格式:awk [option] 'script' FILE ...

awk [option] '/pattern/{action}' FILE ...

action: print $1

模式:

    位址定界: /pat1/ ,/pat2/

    /pattern/

    expression: 表達式

             >,>=,<,<=,==,!=,~

    BEGIN:   執行前做準備工作

    END:     執行後

awk的常用四種分隔符:

    輸入:

             行分隔符

             字段分隔符

    輸出:

              行分隔符

              字段分隔符

    awk的内置變量:

         NF: 字段數

         FS: 讀入行時使用的字段分隔符

awk的

[root@192 ~]# awk '/^root\>/{print $1}' /etc/passwd

root:x:0:0:root:/root:/bin/bash

[root@192 ~]# awk -F : '/^root\>/{print $1}' /etc/passwd

root

[root@192 ~]# awk -F : '/^root\>/{print $1,$7}' /etc/passwd

root /bin/bash

[root@192 ~]# awk -F : '/^root\>/{print "Username:", $1,$7}' /etc/passwd

Username: root /bin/bash

[root@192 ~]# awk -F : '/^root\>/{print "Username:", $1,"Shell:",$7}' /etc/passwd

Username: root Shell: /bin/bash

[root@192 ~]# df -h | awk '{print $2}'

容量

18G

481M

490M

5.0G

497M

[root@192 ~]# df -h | awk '{print $2,$3}'

容量 已用

18G 5.2G

481M 0

490M 92K

490M 7.0M

490M 0

5.0G 55M

497M 124M

[root@192 ~]# df -h | awk '/^\//{print $1}'

/dev/mapper/centos-root00

/dev/sda3

/dev/sda1

[root@192 ~]# df -h

檔案系統                   容量  已用  可用 已用% 挂載點

/dev/mapper/centos-root00   18G  5.2G   13G   30% /

devtmpfs                   481M     0  481M    0% /dev

tmpfs                      490M   92K  490M    1% /dev/shm

tmpfs                      490M  7.0M  483M    2% /run

tmpfs                      490M     0  490M    0% /sys/fs/cgroup

/dev/sda3                  5.0G   55M  5.0G    2% /data

/dev/sda1                  497M  124M  373M   25% /boot

[root@192 ~]# df -h | awk '!/^檔案系統/{print $1}'

devtmpfs

tmpfs

[root@192 ~]# df -h | awk '/^檔案系統/{print $1}'

檔案系統

[root@192 ~]# awk -F : '$3>=50000 {printf $1}' /etc/passwd 

nfsnobody

[root@192 ~]# awk -F : '$7~/bash$/{print $1}' /etc/passwd

huaxia

[root@192 ~]# cat /etc/inittab

# inittab is no longer used when using systemd.

#

# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.

# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target

# systemd uses 'targets' instead of runlevels. By default, there are two main targets:

# multi-user.target: analogous to runlevel 3

# graphical.target: analogous to runlevel 5

# To view current default target, run:

# systemctl get-default

# To set a default target, run:

# systemctl set-default TARGET.target

[root@192 ~]# awk '{print $NF}' /etc/inittab

systemd.

SYSTEM.

/usr/lib/systemd/system/ctrl-alt-del.target

targets:

3

5

run:

get-default

TARGET.target

[root@192 ~]# awk -F : 'BEGIN{print "UserName\n-------------"}$3>=50000{print $1}' /etc/passwd

UserName

-------------

[root@192 ~]# awk -F : 'BEGIN{print "UserName\n-------------"}$3>=50000{print $1}END{print "-------------\none users"}' /etc/passwd

one users

[root@192 ~]# awk 'BEGIN{FS=":"}$3>=500{print $1}' /etc/passwd

polkitd

colord

libstoragemgmt

saslauth

chrony

sssd

unbound

gnome-initial-setup

本文轉自伺服器運維部落格51CTO部落格,原文連結http://blog.51cto.com/shamereedwine/1841318如需轉載請自行聯系原作者

neijiade10000