[linux] awk

2019-04-18  本文已影响0人  VanJordan

Overview

>>> zhangsan   男   24    江西  138xxxxxxxx
上面这条记录中,$0就代表了整条记录,$1就代表[zhangsan],$2就代表[男]

使用方法

[fuwh@localhost 12:42 ~/stu]$ cat tx
fuwh men:jiangxi
zhangsan girl:shanghai
[fuwh@localhost 12:45 ~/stu]$ awk '{print $2}' tx
men:jiangxi
girl:shanghai
[fuwh@localhost 12:46 ~/stu]$ awk -F":" '{print $2}' tx
jiangxi
shanghai
[fuwh@localhost 12:47 ~/stu]$ awk 'BEGIN {FS=":"} {print $1}' tx
fuwh men
zhangsan girl
[fuwh@localhost 13:31 ~/stu]$ cat tx
fuwh:men:jiangxi
zhangsan:girl:shanghai
lisi:girl:beijing
wangwu:feman:shenzhen
[fuwh@localhost 13:31 ~/stu]$ awk 'BEGIN{FS=":"} {if($2=="men"||$2~/girl/) print $3}' tx
jiangxi
shanghai
beijing
[fuwh@localhost 14:06 ~/stu]$ cat tx
fuwh:men:jiangxi
zhangsan:girl:shanghai
lisi:girl:beijing
wangwu:feman:shenzhen
[fuwh@localhost 14:10 ~/stu]$ awk 'BEGIN{FS=":"} {if($2=="girl") x++} END{print "女生个数:" x}' tx
女生个数:2
[fuwh@localhost 14:31 ~/stu]$ cat tx
fuwh:men:jiangxi
zhangsan:girl:shanghai
lisi:girl:beijing
wangwu:feman:shenzhen
[fuwh@localhost 14:31 ~/stu]$ awk 'BEGIN{FS=":"} {print "第"NR"条记录"} END{print FILENAME "共"FNR"条记录,每条有"NR"个域"}' tx
第1条记录
第2条记录
第3条记录
第4条记录
tx共4条记录,每条有4个域
[fuwh@localhost 14:35 ~/stu]$ cat tx
fuwh:men:jiangxi
zhangsan:girl:shanghai
lisi:girl:beijing
wangwu:feman:shenzhen
[fuwh@localhost 14:46 ~/stu]$ awk 'BEGIN{FS=":"}{printf("%s\t%s人\n",$1,$3) }' tx
fuwh    jiangxi人
zhangsan        shanghai人
lisi    beijing人
wangwu  shenzhen人
[fuwh@localhost 14:59 ~/stu]$ cat tx
fuwh:men:jiangxi
zhangsan:girl:shanghai
lisi:girl:beijing
wangwu:feman:shenzhen
[fuwh@localhost 15:03 ~/stu]$ awk 'BEGIN{FS=":"}{if($1=="fuwh") print(length($3))}' tx
7
if (条件) 动作1 [else 动作2]`
while(条件) 动作
do 动作while(条件表达式)
for(计数器初始值;测试计数器条件;计数器变化)动作
for(变量 in 数组名) 动作
上一篇 下一篇

猜你喜欢

热点阅读