linux中awk报告生成器

ll /bin/awk   gawk
处理机制:根据模式一次从文件中抽取一行文本,对这行文本进行切片。
默认使用空白字符为分隔符

awk '{print $0}' file   全部一行
awk '{print $1}' file   以默认分隔符为界的第一个字符
awk '{print $1,$2}' file   不加,就不会有空格,会连接在一起显示

awk -F ":"
awk -F:     制定分隔符
awk -F: '{print $1,$3}'  /etc/passwd
awk -F: '{print $1,$3,NR,NF}'  /etc/passwd
awk -F: '{print NR,NF}'  /etc/passwd
NR 为输出行号
NF 输出列号
可以单独使用

awk里面也可以使用脚本
awk 'BEGIN {}'  读入处理第一行文本之前执行的语句,一般用来初始化操作
{}逐行处理
END{}处理完最后一行文本后执行,一般用俩处理输出结果
awk 'BEGIN {a=34;print }'

awk -F: 'BEGIN {print "REDHAT"} {print NR;print } END {print "WESTOS"}'  /etc/passwd
中间的print 不加东西为打印处理的内容
awk -F: '/bash$/{print}'  /etc/passwd  输出bash结尾的行
awk -F: 'NR==3 {print} '  /etc/passwd  打印第三行
awk -F: 'NR%2 ==0 {print} '  /etc/passwd 打印偶数行
awk -F: 'NR <=3 {print} '  /etc/passwd


找到uid小于等于2的用户
awk -F: '$3>=0&&$3 < 2 {print $1,$3}'  /etc/passwd

awk 'BEGIN{i=0} {i+=NF} END{print i}'  linux.txt
统计文本总字段的个数

统计bash结尾的行数
awk -F: 'BEGIN{i=0}{if($7~/bash$/{i++}}END{print i}' /etc/passwd

awk -F: 'BEGIN{i=0}{if($3<=500&&$3>=0){i++}}END{print i}' /etc/passwd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值