shell编程awk

目录

一、awk 工具

1.awk工作原理

2.awk命令格式

2.1  awk内建变量

二、awk 用法


一、awk 工具

在Linux系统中,awk是一个功能强大的编辑工具,逐行读取输入文本,并根据指定的匹配模式进行查找,对符合条件的内容进行格式化输出或者过滤处理,可以在无交互的情况下实现相当复杂的文本操作,被广泛应用于Shell 脚本,完成各种自动化配置任务

1.awk工作原理

通常情况下 awk 所使用的命令格式如下所示,其中,单引号加上大括号“{}”用于设置对数据进行的处理动作。awk 可以直接处理目标文件,也可以通过“-f ” 读取脚本对目标文件进行处理。

前面提到 sed 命令常用于一整行的处理,而 awk 比较倾向于将一行分成多个“字段”然后再进行处理,且默认情况下字段的分隔符为空格或者 tab 键。awk 执行结果可以通过 print 的功能将字段数据打印显示。在使用awk命令的过程中,可以使用逻辑操作符“&&”,表示“与”, “||”表示“或”,“!”表示“非”;还可以进行简单的数学运算,如+、-、*、/、%、^分别 表示加、减、乘、除、取余和乘方
 

2.awk命令格式

命令格式

格式1: awk 选项 ‘模式或条件’  {操作}  文件1 文件2...

格式2: awk   -f  脚本文件  文件1  文件2  ...

2.1  awk内建变量

awk包含几个特殊的内建变量(可直接用)

FS:指定每行文本的字段分隔符,默认为空格或制表位
OFS:输出字段的分隔符
RS:输出行分隔符
ORS:输出行的分隔符,默认为换行符
NF:当前处理的行的字段个数
NR:当前处理的行的行号(序数)
$0:当前处理的行的整行内容
$n:当前处理行的第n个字段(第n列)
FILENAME:被处理的文件名

2.2  awk命令的用法 

-F以XX为分隔符
-v变量赋值

二、awk 用法

 1.awk     '    '  #空没有效果

2.awk   '{print}'

 3.awk   '{print "hello"}'    #字符需要添加双引号,单引号已被使用

4.awk  ‘BEKIN { print  “hello”}’    #BEGIN比较特殊值打一行 

 

 5.awk ‘{print 100}’

6. awk -F: '{print "root"}'  /etc/passwd    打印root,多少行=passwd里的行数

7. echo {a..b} | awk '{print $1}'    #连续的空白符一样可以

8.df | awk  ‘{print $5}’ #分区利用率 

9.指定分隔符 打印第1 2 3列  head /etc/passwd | awk -F: '{print $1,$2,$3}' 

 

 10.指定分隔符输出第3列大于1000                       awk -F: '$3>1000' /etc/passwd

 11. 指定分隔符输出第3列<5的,且打印第1 3 列      awk  -F: '$3<5{print $1,$3}' /etc/passwd

 

12.  查找本机ip                           ifconfig  ens33 | awk '/netmask/ {print $2}'

 

 内建变量使用

NR:表示该处理的行序号是多少

NF:表示该处理的行,有多少列

13.awk 'NR==1,NR==3{print}'  passwd.bak     //输出1-3行 

14.  awk '/^root/{print}' passwd.bak        //输出以root开头的行

15.  cat -n passwd.bak |awk '(NR%2==1){print}'       //输出文件的奇数行

16. cat -n passwd.bak |awk '(NR%2==0){print}'      //输出文件偶数行

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值