重修awk 基础篇

1、awk原理

  • 操作系统运行 awk 程序, 被运行的程序用单引号包围起来,awk程序就是模式-动作的组合方式进行组合的,这样会触发启动项。
  • 模式主要是用于对文本的匹配 动作就是花括号里面的过滤条件

awk的报错查看

  • ^ Syntax error 指向的是报错的位置,语法错误就出现在这个位置,我的系统是centos7 不同的系统版本,会有所不一样。
  • awk 的错误,并会报告行号
  • 由于发生了语法错误, awk 不会尝试执行这个程序. 然而有些错误直到运行时才会检测到.

打印每一行

在这里插入图片描述
如果一个动作没有模式, 对于每一个输入行, 该动作都会被执行. 语句 print 会打印每一个当前输
入行, 所以程序
{ print }
会将它所有的输入打印到标准输出. 因为 $0 表示一整行, 所以程序
{ print $0 }
完成同样的工作.

打印某些字段

在这里插入图片描述

  • 逗号是 连续的意思 分号是终止的意思

NF, 字段的数量

在这里插入图片描述

  • NF 是代表 字段数量
  • $NF 是代表最后一个字段

NR 打印行号

在这里插入图片描述

  • NR 是打印行号
  • $NR 只是打印第一个字段

将文本放入输出中

[root@king awk]# awk '{ print "total pay for", $1, "is", $2 * $3 }' emp.data 
total pay for Beth is 0
total pay for Dan is 0
total pay for Kathy is 40
total pay for Mark is 100
total pay for Mary is 121
total pay for Susie is 76.5
  • 在 print 语句中, 被双引号包围的文本会和字段, 以及运算结果一起输出.

更加精美的输出

这个 printf 语句的格式字符串包含两个格式说明符. 第一个格式说明符 %s, 是说将第一个值 $1, 以字 8
符串的形式打印; 第二个格式说明符 %.2f, 是说将第二个值 $2*$3, 按照数值格式打印, 且带有两位小
数. 格式字符串的其他内容 (包括美元符) 按照字面值打印; 字符串末尾的 \n 表示换行符, 该符号使后面
的输出从下一行开始. 当 emp.data 作为输入时, 这个程序输出:
total pay for Beth is $0.00
total pay for Dan is $0.00
total pay for Kathy is $40.00
total pay for Mark is $100.00
total pay for Mary is $121.00
total pay for Susie is $76.50
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维螺丝钉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值