AWK实用基础

shell编程中的awk命令非常强大,里面可以加入循环、判断等,因此也被称为awk编程。

一般情况下awk更多的是获取指定列内容,格式化输出等。

格式如下:

awk ‘条件1 {动作1} 条件2 {动作2} ……’ 文件名

awk ‘/正则表达式/’
条件相当于输入,没有条件就会把整个文件内容执行后面的动作。

动作相当于输出,流程处理后格式化输出。

1. 输出列

$num

比如$1代表第一列;$0代表整行记录;$4代表第四列

awk ‘{print “第二列为:” $2}’ file.txt

2. 动作部分

print  会在每个记录执行完加入换行符\n

printf 需要手动添加格式

3. 条件部分

-BEGIN

‘BEGIN {print “先执行这个!!”} {print $1}'    

表示在所有数据执行之前先执行BEGIN后面{}里面的动作

输出为:先执行这个!!

        第一列内容

-END

在所有数据执行之后,在执行一次END之后的{}动作

‘END {print “最后执行这个!!”} {print $1}'    
输出为:第一列内容

        最后执行这个!!

-比较

可以加入一个比较表达式(-F可以设置分隔符)

awk -F: 'NR<=3 {print $1}' /etc/passwd
#输出行号小于3的第二列内容 设置分隔符为:

root
bin
daemon

-常用内置变量

NR  行号

NF  列号

FILENAME  文件名

ARGV  命令数组(就是本次awk命令作为一行记录存在数组里,分隔符为空格)

$NF  最后一列内容

$0   整行记录

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值