awk用法总结

1.通过正则表达式/^$/匹配空白行,动作为打印Blank line,即文件如果有N个空白行,AWK就在屏幕打印N个Blank line:
awk '/^$/ {print "Blank line"}' test.txt
建立脚本执行:

2.打印包含主机名的行,默认动作为打印
 awk '/HOSTNAME/' /etc/sysconfig/network

3.读取输入行并输出第一个字段,第二个字段,第三个字段。
echo hello the world | awk '{print $1,$2,$3}'

4.读取输入行并输出该行。
echo hrrd def asds | awk '{print $0}'

5.读取输入行并输出该行的字段个数。
echo hrrd def asds | awk '{print NF}'

6.读取输入行并输出该行最后一个字段。
echo hrrd def asds | awk '{print $NF}'

7.默认AWK读取数据以空格或制表符作为分隔符,但可以通过-F或FS变量来改变分隔符。
   awk -F: '{print $1}' /etc/passwd
  awk
 
awk 'BEGIN {FS = ":"} {print $1}' /etc/passwd

8.指定多个字段分隔符(文档内容为:hello the:word,!)
echo 'hello the:word,!' | awk 'BEGIN {FS="[:,]"} {print $1,$2,$3,$4}'

9.输出当前文档的当前行编号,第一个文件八行,第二个文件三行;
 awk '{print FNR}' test1.txt test2.txt


10.AWK将两个文档作为一个整体的输入流,通过NR输入当前行编号:
awk '{print NR}' test1.txt test2.txt

11.文档的每一行有多少字段
awk '{print NF}' test1.txt

12.读取每一行的前三个字段
awk '{print $1,$2,$3}' test1.txt

13.读取输入数据,以空白行为记录分隔符,即第一个空白行前的内容为第一个记录,第一个记录中的字段分隔符为换行符:awk实现打印所有的邮件时间,即每个记录的第三个字段。
awk 'BEGIN {FS="\n"; RS=""} {print $3}' test3.txt
$2打印每个记录第二行的字段
awk 'BEGIN {FS="\n"; RS=""} {print $2}' test3.txt

14.统计所有的空白行:
awk '/^$/ {print x+=1}' test.txt


15.打印总空白行个数:
awk '/^$/ {x+=1} END {print x}' test.txt

16.判断分区boot可用容量小于20MB时报警,否则显示OK。
     判断分区boot可用容量小于20000MB时报警,否则显示OK

17.打印每一行的字符长度。
     awk '{print length()}' test.txt

18.将passwd中所有的root修改为Jacob显示至屏幕
 awk -F: 'gsub(/root/,"jacob",$0) {print $0}' /etc/passwd

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值