shell的正则表达------awk

一、awk:按行取列

1.awk原理:根据指令信息,逐行的读取文本内容,然后按照条件进行格式化输出。

2.awk默认分隔符:空格、tab键,把多个空格自动压缩成一个。

3.awk的选项: awk ‘操作符 {动作}’处理对象

         -F:指定分隔符,默认式空格

         -v:变量复制

内置变量:$#:按行需要取出的第几个字段

                  $0:打印所有

                  NR:需要处理的行号

                  NF:处理行的字段个数

                  $NF:当前行的最后一个字段

                  FS:和F一样,都是指定分隔符

                  OFS:输出内容的分割符

                  RS:行分隔符,可以根据RS的设置把文件内容切成多个记录,也可以改变行的分隔符,默认式\n、回车、换行。

4.awk的命令展示:

awk如何打印文本内容

awk如何打印文本行号

awk如何即打印文本内容又可以打印行号

awk打印指定行

打印第3行和第5行

打印第3行到第5行

打印偶数行

打印奇数行

指定分隔符打印第五列

指定分隔符打印第1行到第3行的第五列

指定分隔符打印第1行和第3行的第五列

5.awk怎么使用文本过滤

打印包含root的行

打印以bash结尾的行

6.awk的BEGIN打印模式:awk ‘BEGIN{ };{ };END{ }’ 文件

7.awk的运算:

8.awk如何进行赋值:awk -v

 9.awk以分隔符进行换行

 10.awk条件判断打印

打印第三列大于999的所有行

打印第三列等于1000的所有行

 11.awk的三元表达:打印第三列比第四列大的值(如果第三列的值大于第四列,则大的打印第三列,小的打印第四列)

 12.awk的精确筛选:

$n(>< ==):用于比较数值

$n~"字符串":该字段包含某个字符串

$n!~"字符串":该字段不包含某个字符串

$n==“字符串”:该字段等于这个字符串

$n!="字符串":该字段不等于这个字符串

$NF:最后一列

只有第一列为root的行,打印它的第六列

13.awk的逻辑且和逻辑或

14.awk如何取小数点后的结果以及小数运算怎么取真数

 

15. 习题:监控cpu,内存和硬盘的根目录,超过80%提示用户,写成函数库的行,每天早上 的8.50分,执行一次脚本。

使用函数库分别算出cpu、内存及硬盘的使用率

给函数库赋值

给脚本设定执行时间:crontab -e

调用函数库:vim dyk.sh

查看结果:

16.使用awk获取 /etc目录下所有文件的总大小

17.使用awk的两种方法获取网址的主机名

 cat awk.sh | awk -F'[ .]+' '{print $2}'

 cat awk.sh | awk '{print $2}' | awk -F. '{print $1}'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值