Awk的使用
成都创新互联-专业网站定制、快速模板网站建设、高性价比中宁网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式中宁网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖中宁地区。费用合理售后完善,10多年实体公司更值得信赖。1 awk的基础知识
awk是文本与数据的处理工具
awk的特点是可以编程,并且处理灵活,功能更强大
awk的应用:统计和制表等等
2 awk的处理方式和格式
awk一次处理一行内容
awk对每行可以切片处理
3 awk的格式有
命令行格式
脚本格式
4 命令行格式有
基本格式
扩展格式
5 基本格式
awk
参数
命令
操作的文件
6 命令由两部分组成
正则表达式或逻辑判断式
awk操作命令
7 awk操作命令语句
内置函数
控制指令
8 awk的内置参数
内置参数的使用格式(awk -F ’:指定的分割符’ ’{print 内置参数}’ 文件名)awk的内置变量1: $0表示整个当前行 $1每行第一个字段 $2每行第二个字段,awk内置参数的分割符 参数:-F ’指定的分割符’ 如果没有写将默认为空格,如果想要多个字段加逗号
9 awk的内置变量2
NR每行的行号 NF字段数量的总数或每行的列数 FILENAME正在处理的文件名
案例一: 显示文件中的每行的行号,每行的列数和对应行的用户名
第一种 用print awk -F ’:’ ’{print ”Line行号: ”NR, ”Col列数:”NF”,”User用户名: ”$1}’ 文件名
第二种 用printf awk -F ’:’ ’{printf (”Line:%s Col:%s User:%s\n”,NR,
NF,$1)}’ 文件名 (s前面加上字符数,显示的时候格式会更整齐)
案例二: 显示文件中用户ID大于100的行号和用户名
awk -F ’:’ ’{if条件判断 ($3>100) pint ”Line:”NR, ”User: ”$1}’ 文件名
案例三: 在服务器log中找出Error的发生日期
第一种: sed ’/Error/p’ fresh.log | awk ’{print $1}’用sed找出有Error的行
第二种: awk ’/Error/{print $1}’ fresh.log 用awk定位Error
10 逻辑判断式
~,!~匹配正则表达式 匹配 不匹配
awk -F ’:’ ’要打印的东西如$1逻辑判断式如~/匹配的条件如^m.*/{print $1}’ 文件名 打印出文件中所有以m开头的第一个字段
= =,!=,< ,>判断逻辑表达式 等于 不等于 小于 大于
awk -F ’:’ ’输出的条件如$3>100 {print $!,$3}’ 文件名
打印出文件中所有小于100的第一个字段和第三个字段
11 扩展格式
在基本格式之前加入BEGIN,在基本格式之后加入END
案例一: 制表显示/etc/passwd每行的行号,每行的列数,对应行的用户名
awk -F ’:’ 开头部分’BEIND{print “LINE行号 COL列数 USER用户名}’
循环部分要打印的字段{print NR每行的行号,NE每行的列数,$1每行的第一个字段}结尾部分END{print”------”FITENAME”------”}’ 文件名
12 awk的逻辑处理案例
案例一: 统计当前文件夹下的文件和文件夹占用的大小
ls -l | awk ’BEGIN (size=0)}{size+=$5}END{print “ size is ” size/1024/1024”M” }’
案例二: 统计显示/etc/passwd/的账户总人数
awk -F ’:’ ‘BEGIN{count=0}$1!~/^$/{count++}END{print “count= ”count}’ 文件名
统计显示UID大于100的用户名
Awk -F ‘:’ ‘BEGIN{count=0}{if ($3 > 100) name[count++]=$1}END{for
(i=0;i 案例三: 统计netstat-anp状态下为LISTEN和CONNECTED的连接数量 Netstat -anp | awk ‘$6~/CONNECTED|LISTEN/{sum[$6]++}END{for (i in sum)print i,sum[i]}’ 13 sed和awk的区别 sed侧重于正则处理 sed和awk可以共同使用 awk和sed都可以处理文本 awk侧重于复杂的逻辑处理 创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
当前文章:AWK——的使用-创新互联
网站地址:http://bzwzjz.com/article/pcejh.html