day 19三剑客awk

三剑客命令awk概述:
gawk:pattern scanning and processing language (查询这段信息方法:man awk)
模式扫描与处理语言
语法结构:awk [参数] '模式{动作}' 文件
对比:sed [参数] '条件指令' 文件信息
原理:如图所示


day 19三剑客awk_第1张图片
图片.png

一.三剑客命令awk操作

创建测试环境 创建方法:
  cat >>reg.txt<
1.显示Xiaoyu的姓氏和ID号码
 操作命令:awk  '$2~/Xiaoyu/{ptint $1,$3}' reg.txt
图片.png
2.姓氏是Zhang的人,显示他的第二次捐款金额及他的名字
day 19三剑客awk_第2张图片
awk -F "[: ]+" '$1~/Zhang/{$1,$2,$5}' reg.txt
3.显示所有以41开头的ID号码的人的全名和ID号码
awk '$3~/^41/{print$1,$2,$3}' reg.txt
4.显示所有ID号码最后一位数字是1或5的人的全名
day 19三剑客awk_第3张图片
awk '$3~/[15]$/{print $1,$2}' reg.txt
5.获取文件中有井号或空行的内容,将 井号信息的行排除

awk '|#/' reg.txt

6.显示Xiaoyu的捐款,每个捐款数额都是以$头
    awk替换
    gsub  = gawk substitute
   gsub(/要替换的信息/,"替换成什么".$将第几列
 $NF表示文件的最后一列信息
   ![awk '$2~/Xiaoyu/{print $4}' reg.txt|tr ':' '$
day 19三剑客awk_第4张图片

二.awk命令模式分类

普通模式:比较行信息
day 19三剑客awk_第5张图片
图片.png
说明:NR表示文件行信息
取多行信息
day 19三剑客awk_第6张图片
图片.png
特殊模式
BEGIN{动作}:在处理文件之前,先做什么事情
END{动作}:在处理文件之后,再做什么事情
day 19三剑客awk_第7张图片
图片.png

day 19三剑客awk_第8张图片
图片.png
用于计算
day 19三剑客awk_第9张图片
图片.png
修改内置变量
 NF:表示最后一列的信息
day 19三剑客awk_第10张图片
图片.png
FS:指定列分隔符,默认识别空格为分隔符
day 19三剑客awk_第11张图片
图片.png
awk对文件进行统计分析
  awk统计运算公式
  文本信息累加运算
   i=i+1
统计文件行数
END实际作用可以将统计后的最终结果进行输出
day 19三剑客awk_第12张图片
图片.png
数据信息求和运算
sum=sum+$n   $n   你要对文件第几列信息求和运算
图片.png

找出有faild信息, 总共出现了多少次 (awk统计)
难点: windows文件如何传输到linux系统
yum install -y lrzsz --- 实现windows和linux系统之间数据传输
rz -- 将windows数据 ---> linux系统
sz -- 将linux数据 ---> windows系统

awk '/Failed/{i++}END{print i}' secure-20161219
awk '$6~/Failed/{i++}END{print i}' secure-20161219'
作业
公司 运营总金额  10000
张三 采购电脑花费  1000
李四 采购办公用品  250
王五 采购食品      330    
公司运营金额还剩多少
awk 'BEGIN{sum=10000}NR!=1{sum=sum-$3}END{print sum}'  文件信息

你可能感兴趣的:(day 19三剑客awk)