linux awk 命令

awk 命令语法

awk [options] Pattern{Action} file

df | head -5 |awk '{print $1, $5}'

此例子中没有使用到 options 和 Pattern, 表示输出第一列跟第五列, 其中$1 表示第一列, $0 表示正行, $NF 表示 最后一列. (注: $NF 跟 NF 不同, NF表示本行一共有多少列)

BEGIN, END: 处理数据前和后进行的操作

options
  • -F 指定分隔符()

  • -v 指定变量

    OFS 输出分隔符(默认分隔符为空格, 若两个变量之间没有逗号, 将不使用分隔符, 输出的内容连在一起)

    FS 输入分隔符 (跟直接-F效果相同)

Pattern
  • 空模式

  • BEGIN: 开始前的操作

  • END: 结束后的操作

  • 关系运算模式

    运算符含义示例
    <小于NF < 10
    <=小于等于
    >大于
    >=大于等于
    ==等于
    !=不等于
    ~与对应的正则匹配x ~ /正则/
    !~与对应的正则不匹配x !~ /正则/
变量
  • FS: 输入分隔符, 默认空白字符
  • OFS: 输出分隔符, 默认空白字符
  • RS: 输入换行符
  • ORS: 输出换行符
  • NF: 当前行分割成多少列
  • NR: 行号
  • FNR: 当处理多个文件时, 各个文件各自记录行号
  • FILENAME: 当前文件名
  • ARGC: 命令行参数个数
  • ARGV: 数组, 保存命令行给定的各参数
  • 自定义变量
    1. -v指定
    2. 内部直接定义
printf 格式化输出

使用 printf 命令代替 print 进行格式化输出

转载于:https://my.oschina.net/u/3788834/blog/3073223

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值