添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
2.搜索/etc/passwd有root关键字的所有行,并输出shell列

[root@127-0-0-1 scripts]# awk -F  ":" '/root/ {print $7}' /etc/passwd

/bin/bash

/sbin/nologin

3.统计/etc/passwd:文件名,每行的行号,每行的列数,对应的完整行内容

[root@127-0-0-1 scripts]# awk -F ":" '{print "filename:" FILENAME ",linenumber:" NR ",columns:" NF ",linecontent:"$0}' /etc/passwd

filename:/etc/passwd,linenumber:1,columns:7,linecontent:root:x:0:0:root:/root:/bin/bash

filename:/etc/passwd,linenumber:2,columns:7,linecontent:bin:x:1:1:bin:/bin:/sbin/nologin

filename:/etc/passwd,linenumber:3,columns:7,linecontent:daemon:x:2:2:daemon:/sbin:/sbin/nologin

filename:/etc/passwd,linenumber:4,columns:7,linecontent:adm:x:3:4:adm:/var/adm:/sbin/nologin

filename:/etc/passwd,linenumber:5,columns:7,linecontent:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

filename:/etc/passwd,linenumber:6,columns:7,linecontent:sync:x:5:0:sync:/sbin:/bin/sync

filename:/etc/passwd,linenumber:7,columns:7,linecontent:shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

filename:/etc/passwd,linenumber:8,columns:7,linecontent:halt:x:7:0:halt:/sbin:/sbin/halt

filename:/etc/passwd,linenumber:9,columns:7,linecontent:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

filename:/etc/passwd,linenumber:10,columns:7,linecontent:uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

filename:/etc/passwd,linenumber:11,columns:7,linecontent:operator:x:11:0:operator:/root:/sbin/nologin

filename:/etc/passwd,linenumber:12,columns:7,linecontent:games:x:12:100:games:/usr/games:/sbin/nologin

filename:/etc/passwd,linenumber:13,columns:7,linecontent:gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

filename:/etc/passwd,linenumber:14,columns:7,linecontent:ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

filename:/etc/passwd,linenumber:15,columns:7,linecontent:nobody:x:99:99:Nobody:/:/sbin/nologin

filename:/etc/passwd,linenumber:16,columns:7,linecontent:dbus:x:81:81:System message bus:/:/sbin/nologin

filename:/etc/passwd,linenumber:17,columns:7,linecontent:vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin

filename:/etc/passwd,linenumber:18,columns:7,linecontent:abrt:x:173:173::/etc/abrt:/sbin/nologin

filename:/etc/passwd,linenumber:19,columns:7,linecontent:saslauth:x:499:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin

filename:/etc/passwd,linenumber:20,columns:7,linecontent:postfix:x:89:89::/var/spool/postfix:/sbin/nologin

filename:/etc/passwd,linenumber:21,columns:7,linecontent:haldaemon:x:68:68:HAL daemon:/:/sbin/nologin

filename:/etc/passwd,linenumber:22,columns:7,linecontent:ntp:x:38:38::/etc/ntp:/sbin/nologin

filename:/etc/passwd,linenumber:23,columns:7,linecontent:sshd:x:74:74::/var/empty/sshd:/bin/false

filename:/etc/passwd,linenumber:24,columns:7,linecontent:zabbix:x:498:498:Zabbix Monitoring System:/var/lib/zabbix:/bin/bash

filename:/etc/passwd,linenumber:25,columns:7,linecontent:ntop:x:497:497:ntop:/var/lib/ntop:/sbin/nologin

filename:/etc/passwd,linenumber:26,columns:7,linecontent:tcpdump:x:72:72::/:/sbin/nologin

filename:/etc/passwd,linenumber:27,columns:7,linecontent:dev:x:500:500::/home/dev:/bin/bash

filename:/etc/passwd,linenumber:28,columns:7,linecontent:ops:x:501:501::/home/ops:/bin/bash

filename:/etc/passwd,linenumber:29,columns:7,linecontent:qa:x:502:502::/home/qa:/bin/bash

filename:/etc/passwd,linenumber:30,columns:7,linecontent:bigdata:x:503:503::/home/bigdata:/bin/bash

filename:/etc/passwd,linenumber:31,columns:7,linecontent:test:x:504:504::/home/test:/bin/bash

filename:/etc/passwd,linenumber:32,columns:7,linecontent:autobots:x:505:505::/home/autobots:/bin/bash

filename:/etc/passwd,linenumber:33,columns:7,linecontent:netdata:x:496:496:netdata:/opt/netdata:/sbin/nologin

filename:/etc/passwd,linenumber:34,columns:7,linecontent:mysql:x:506:506:MySQL Server:/home/mysql:/bin/bash

filename:/etc/passwd,linenumber:35,columns:7,linecontent:gluster:x:495:495:GlusterFS daemons:/var/run/gluster:/sbin/nologin

filename:/etc/passwd,linenumber:36,columns:7,linecontent:apache:x:48:48:Apache:/var/www:/sbin/nologin

filename:/etc/passwd,linenumber:37,columns:7,linecontent:mysql-proxy:x:494:494:MySQL-Proxy user:/:/sbin/nologin

4.打印/etc/passwd/的第二行信息

[root@127-0-0-1 scripts]# awk 'NR==2{print "filename:" FILENAME,$0}' /etc/passwd

filename:/etc/passwd bin:x:1:1:bin:/bin:/sbin/nologin

5.获取第12到30行的第一列的信息

[root@127-0-0-1 scripts]# awk -F ":" '{if(NR > 12 && NR < 30) print $1}' /etc/passwd

gopher

nobody

saslauth

postfix

haldaemon

zabbix

tcpdump

[root@127-0-0-1 scripts]# cat long.txt | awk 'BEGIN{print "name,shell"} {print $1,$NF} END {print "hello world"}'

name,shell

2 test

3 awk

This's test

10 orange,apple,mongo

hello world

10.输出第二列不包含 "th",并打印第二列与第四列

[root@127-0-0-1 scripts]# awk '$2 !~ /th/ {print $2,$4}' long.txt

Are like

awk  '{print $1 $3}'  part01           //$1与$3相连输出,不分隔

awk  '{print $1,$3}'  part01           //多了一个逗号,$1与$3使用空格分隔

awk  '{print $1 " " $3}'  part01     //$1与$3之间手动添加空格分隔

awk  '{print $NF}' part01           //将每行第NF个字段的值打印出来

awk  'NF==4 {print }' part01        //显示只有4个字段的行

awk  'NF>2{print $0}' part01        //显示每行字段数量大于2的行

awk '{print NR,NF,$NF,"\t",$0}' part01 //依次打印行号,字段数,最后字段值,制表符,每行内容

awk 'NR==5{print}'   part01               //显示第5行

awk 'NR==5 || NR==6{print}'   part01      //显示第5行和第6行

awk 'NR!=1{print}'   part01             //不显示第一行

//纯字符匹配   !//纯字符不匹配   ~//字段值匹配    !~//字段值不匹配   ~/a1|a2/字段值匹配a1或a2

awk  '/mail/,/mysql/{print}' /etc/passwd         //区间匹配

awk  '/[2][7][7]*/{print $0}' /etc/passwd            //匹配包含27为数字开头的行,如27,277,2777...

awk  '$1~/mail/{print $1}' /etc/passwd           //$1匹配指定内容才显示

awk  '{if($1~/mail/) print $1}' /etc/passwd      //与上面相同

awk  '$1!~/mail/{print $1}' /etc/passwd          //不匹配

16.IF语句,必须用在{}中,且比较内容用()扩起来

awk  '{if($1~/mail/) print $1}' /etc/passwd                                       //简写

awk  '{if($1~/mail/) {print $1}}'  /etc/passwd                                   //全写

awk  '{if($1~/mail/) {print $1} else {print $2}}' /etc/passwd            //if...else...

awk  '$1=="183.198.46.6"{print $4}' part01

awk  '{if($1=="mysql") print $3}' /etc/passwd          //与上面相同

awk  '$1!="mysql"{print $3}' /etc/passwd               //不等于

awk  '$3>1000{print $3}' /etc/passwd                   //大于

awk  '$3>=100{print $3}' /etc/passwd                   //大于等于

awk  '$3<1{print $3}' /etc/passwd                      //小于

awk  '$3<=1{print $3}' /etc/passwd                     //小于等于

awk  '$1~/183.198.46.6/ && $4~/2015:19:14:40/ {print$7}' part01

awk  '$1~/mail/ && $3>8 {print }' part01 //逻辑与,$1匹配mail,并且$3>8

awk  '{if($1~/mail/ && $3>8) print }' /etc/passwd

awk  '$1~/mail/ || $3>1000 {print }' /etc/passwd       //逻辑或

awk  '{if($1~/mail/ || $3>1000) print }' /etc/passwd

awk  '/mysql|mail/{print $3+10}' /etc/passwd   //第三个字段加10打印

awk  '/mysql/{print $3-$4}' /etc/passwd       //减法

awk  '/mysql/{print $3*$4}' /etc/passwd       //求乘积

awk  '/MemFree/{print $2/1024}' /proc/meminfo   //除法

awk  '/MemFree/{print int($2/1024)}' /proc/meminfo    //取整

广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员