linux-awk简介

linux-awk

awk由三个人开发
有多种版本:New awk(nawk),GNU awk( gawk)
gawk:模式扫描和处理语言
每读入一行,处理一行,处理各种文本信息,接受标准输入,可跟文件 和 程 序
自动切割处理的行,以空格符为准,支持数字运算awk运算速度更快 可用time 查询
只要不是变量的字符需要表示原译需要双引号
还有三种语句块使用,针对处理前,处理,处理后
定义变量,所有变量先声明在使用
其会

awk语言

基本格式:awk【选项】‘程序’文件
程分分两个部分pattern和action

  1. pattern决定动作语句何时触发及触发事件 如BEGIN在执行前执行,不加此位未标记位当处理内容,END处理结束后在执行

  2. action statements对数据进行处理,放在{}内指明
    默认 空格符为 分隔符 ,可直接调用

awk常见用法

awk [options] ‘program’ var=value file…
awk [options] -f programfile var=value file…
awk [options] ‘BEGIN{action;… }pattern{action;… }END{action;… }’ file …

awk变量

变量:内置和自定义变量 

  • FS:输入字段分隔符,默认为空白字符
    awk -v FS=’:’ '{print $1,FS,$3}’ /etc/passwd awk –F: '{print $1,$3,$7}’ /etc/passwd 
  • OFS:输出字段分隔符,默认为空白字符
    awk -v FS=‘:’ -v OFS=‘:’ ‘{print $1,$3,$7}’ /etc/passwd  RS:输入记录分隔符,指定输入时的换行符 awk -v RS=’ ’ ‘{print }’ /etc/passwd 
  • ORS:输出记录分隔符,输出时用指定符号代替换行符
    awk -v RS=’ ’ -v ORS=’###’‘{print }’ /etc/passwd 
  • NF:字段数量
    awk -F:‘{print NF}’ /etc/fstab 引用变量时,变量前不需加$ awk -F:‘{print $(NF-1)}’ /etc/passwd 
  • NR:记录号
    awk ‘{print NR}’ /etc/fstab ; awk END‘{print NR}’ /etc/fstab
  • FNR:各文件分别计数,记录号
    awk ‘{print FNR}’ /etc/fstab /etc/inittab 
  • FILENAME:当前文件名
    awk '{print FILENAME}’ /etc/fstab 
  • ARGC:命令行参数的个数
    awk '{print ARGC}’ /etc/fstab /etc/inittab awk ‘BEGIN {print ARGC}’ /etc/fstab /etc/inittab 
  • ARGV:数组,保存的是命令行所给定的各参数
    awk ‘BEGIN {print ARGV[0]}’ /etc/fstab /etc/inittab awk ‘BEGIN {print ARGV[1]}’ /etc/fstab /etc/inittab
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值