awk的使用

本文介绍了文本处理工具awk的基本用法及高级应用技巧,包括如何使用awk进行数据字段的分割、选择、打印以及简单的数学运算等操作。通过具体示例展示了awk在文本处理中的强大功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文本处理工具awk

    awk是基于列的文本处理工具,它的工作方式是按行读取文本并视为一条记录,每条记录以字段分割成若干字段,然后输出各字段的值。
    awk认为文件是结构化的,也就是说都是由单词和各种空白字符组成的,这里的“空白字符”包括空格、Tab,以及连续的空格和Tab等。每个非空白的部分叫做“域”,从左到右依次是第一个域、第二个域、第三个域,等。$1、$2分别表示域,$0则表示全部域。

打印指定域

#awk '{print $1,$2}' file.txt  //file.txt为测试文件,数据自填

指定打印分隔符

  • 默认情况下awk使用空白符作为分隔符
  • -F 参数指定分隔符
  • awk -F / '{priint $1,$2}' file.txt

内部变量NF

  • 获取文件的列数
  • awk ‘{print NF}’ file.txt

打印固定域

  • 打印最后一列
  • awk ‘{print $NF}’ file.txt

截取字符串

  • substr(指定域,第一个开始字符的位置,第二个结束的位置)
  • 其中第二个结束的位置可以为空,默认输出到该域的最后一个字符
  • cat file.txt | awk ‘{print substr($1,2,4)}’

确定字符串的长度

  • cat flie.txt | awk ‘{print length}’

求列和

  • 求和
  • cat file.txt | awk ‘BEGIN{total=0}{total+=$3}END{print total}’
  • 求平均
  • cat file.txt | awk ‘BEGIN{total=0}{total+=$3}END{print total/NR}’
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值