2019/02/27 AWK入门01

4在这里插入图片描述
在这里插入图片描述
awk名字来源于三个开发人员,centos系统默认用的GWK,
使用来模式扫描和处理的语言,格式化显示文档和打印报表

在这里插入图片描述
强大的就在于能把你需要的文本内容按照你希望的格式输出显示,甚至打印报表的格式也可以,因此awk经常用于处理各种文档,比如日志信息,awk在哪里
在这里插入图片描述
**file文件时显示某个文件类型的,但是如果查看的文件很多,就可以把查看的文件写在一个文件里,用-f调用,就可以批量的读取你的文件列表,判断每个文件的类型 **
在这里插入图片描述
program的程序有这样的表现形式:'BEGIN{action;。。}pattern{action;。。}END{action;。。} '
一般用单引号不要用双引号,因为可能跟其他语句造成冲突,一般都是在外面用单引号,里面用双引号
awk处理机制类似于sed
读入一行,模式空间,保持空间,来回切换,进行处理,处理之后自动进入第二行,系统自带循环,一行处理完读入下一行
这一点awk和sed基本一致

sed默认回车换行算一行,但是awk可以设定以什么为一行
¥0代表整行
¥1代表第一个字段
默认空白符为切开的字段,tab,空格,个数不限

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
实现机制;在一行读入,有可能在读入第一行之前就想做点什么,(有些把行都读完,才做事情)
就需要用到begin,end

在这里插入图片描述
begin经常用于打印表头(都不知道文件是什么就开始工作,执行完begin之后,就把文件一行行读入)
end往往用作汇总(end和begin不是必须有的代码)

在这里插入图片描述
在这里插入图片描述
begin pattern end 组合其实就是program:pattern {action statements;…}
print打印 $0就是整行,默认就是把整行显示出

在这里插入图片描述
在这里插入图片描述
awk是标准输入,就可以用重定向,借助管道处理一些标准输出
在这里插入图片描述
也可以带特殊的字符比如回车换行\n
在这里插入图片描述
直接打印字符串,因为后面没有跟任何pattern和任何处理,begin是在读入文件之前进入的动作,还可以进行运算
在这里插入图片描述
打印第1列,第3列
在这里插入图片描述
awk如果表示字符串就必须要加双引号
在这里插入图片描述
awk自动压缩空白符
在这里插入图片描述
tab建作为风格符,双引号不能去掉
在这里插入图片描述
在这里插入图片描述第二个字段挂载点,第4个是挂载选项(default
在这里插入图片描述
bash里的内置变量PS1 PS2 HISTSIZE
FS 就是F=field s=separator分隔符的意思 作用等价于 -F
变量 要跟在V的选项后面 要给变量赋值

在这里插入图片描述
不需要加¥,因为本身就是个变量
在这里插入图片描述
bash里的变量
在这里插入图片描述
用FS的内置变量更合理,后面的分隔符可以设定跟FS
在这里插入图片描述在这里插入图片描述
把文件读进去,用指定的分隔符把它切割成一个个字段,所以是读入内容的切割
在这里插入图片描述
OFS定义输出分割符
在这里插入图片描述
在这里插入图片描述
r=record s=separator
记录也可以定义分隔符,行的分隔符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ORS输出的记录分隔符
$0打印整行,但是原来的换行改成----所以就不会换行了

在这里插入图片描述
DF取设备名和分区利用率
在这里插入图片描述
httpd日志把ip取出来/var/log/httpd/access_log
在这里插入图片描述
在这里插入图片描述
每一行都是7个字段
在这里插入图片描述
在这里插入图片描述
取rpm包cpu架构
在这里插入图片描述
在这里插入图片描述
记录的数量
在这里插入图片描述
跟两个文件,发现数据叠加在一起编号
在这里插入图片描述
分开编也可以用FNR
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
可以知道你 参数有几个’
在shell里面的含义¥0代表文件名本身,¥1代表第一个参数a 2代表b
在这里插入图片描述
在awk里面
在这里插入图片描述
在这里插入图片描述
认为awk自己就属于第一个参数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值