awk

awk也是一个非常棒的数据处理工具!相较于 sed常常作用于一整个行的处理, awk则比较倾向于一行当中分成数个『字段』来处理。因此,awk相当的适合处理小型的数据数据处理呢!

 

$1表示每行的第一列内容 $2表示每行的第二列内容

$0表示全部内容 

BEGIN用于预设变量

 

例子1:使用awk将日期格式20091011转换成2009-10-11内容存在1.txt里面

awk ‘BEGIN {FS=":"} {print $1$2$3$4”-”$5$6”-”$7$8}’ 1.txt

例子2:行汇总计算。这个例子使用到的是标准的条件类型1{动作1}条件类型2{动作2},来分段处理。

注意{}中需要使用多个命令,需要用分号或回车分割

例子3:找出包含特定字符的行(没有指定特定字段在一列):

cat /etc/passwd | awk 'BEGIN {FS=":"} /potato/ {print $0}' 

#通过标准输入的行中匹配斜杠中的特殊字段,找到后输入该行(print $0表示打印整行)

例子4:找出包含特定字符的行(特殊字段在第一列),只打印出该行第二个字段:

cat /etc/passwd | awk 'BEGIN {FS=":"} $1=="tom" {print $2}' 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值