linux基础教程linuxawk内置变量使用介绍

linux基础教程linuxawk内置变量使用介绍

ID:34724210

大小:68.23 KB

页数:4页

时间:2019-03-10

linux基础教程linuxawk内置变量使用介绍_第1页
linux基础教程linuxawk内置变量使用介绍_第2页
linux基础教程linuxawk内置变量使用介绍_第3页
linux基础教程linuxawk内置变量使用介绍_第4页
资源描述:

《linux基础教程linuxawk内置变量使用介绍》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、http://www.lampbrother.netLinux基础教程linuxawk内置变量使用介绍awk是个优秀文本处理工具,可以说是一门程序设计语言。下面是给大家介绍的awk内置变量。  一、内置变量表  属性说明  $0当前记录(作为单个变量)  $1~$n当前记录的第n个字段,字段间由FS分隔  FS输入字段分隔符默认是空格  NF当前记录中的字段个数,就是有多少列  NR已经读出的记录数,就是行号,从1开始  RS输入的记录他隔符默认为换行符  OFS输出字段分隔符默认也是空格  ORS输出的记录

2、分隔符,默认为换行符  ARGC命令行参数个数  ARGV命令行参数数组  FILENAME当前输入文件的名字  IGNORECASE如果为真,则进行忽略大小写的匹配  ARGIND当前被处理文件的ARGV标志符  CONVFMT数字转换格式%.6g  ENVIRONUNIX环境变量  ERRNOUNIX系统错误消息  FIELDWIDTHS输入字段宽度的空白分隔字符串  FNR当前记录数  OFMT数字的输出格式%.6g  RSTART被匹配函数匹配的字符串首  RLENGTH被匹配函数匹配的字符串长度  

3、SUBSEP34  2、实例  1、常用操作http://www.lampbrother.net  [chengmo@localhost~]$awk'/^root/{print$0}'/etc/passwd  root:x:0:0:root:/root:/bin/bash  /^root/为选择表达式,$0代表是逐行  2、设置字段分隔符号(FS使用方法)  [chengmo@localhost~]$awk'BEGIN{FS=":"}/^root/{print$1,$NF}'/etc/passwd  ro

4、ot/bin/bash  FS为字段分隔符,可以自己设置,默认是空格,因为passwd里面是”:”分隔,所以需要修改默认分隔符。NF是字段总数,$0代表当前行记录,$1-$n是当前行,各个字段对应值。  3、记录条数(NR,FNR使用方法)  [chengmo@localhost~]$awk'BEGIN{FS=":"}{printNR,$1,$NF}'/etc/passwd  1root/bin/bash  2bin/sbin/nologin  3daemon/sbin/nologin  4adm/sbin/

5、nologin  5lp/sbin/nologin  6sync/bin/sync  7shutdown/sbin/shutdown  ……  NR得到当前记录所在行  4、设置输出字段分隔符(OFS使用方法)  [chengmo@localhost~]$awk'BEGIN{FS=":";OFS="^^"}/^root/{printFNR,$1,$NF}'/etc/passwd  1^^root^^/bin/bash  OFS设置默认字段分隔符  5、设置输出行记录分隔符(ORS使用方法)  [chengmo

6、@localhost~]$awk'BEGIN{FS=":";ORS="^^"}{printFNR,$1,$NF}'/etc/passwd  1root/bin/bash^^2bin/sbin/nologin^^3daemon/sbin/nologin^^4adm/sbin/nologin^^5lp/sbin/nologinhttp://www.lampbrother.net  从上面看,ORS默认是换行符,这里修改为:”^^”,所有行之间用”^^”分隔了。  6、输入参数获取(ARGC,ARGV使用)  [c

7、hengmo@localhost~]$awk'BEGIN{FS=":";print"ARGC="ARGC;for(kinARGV){printk"="ARGV[k];}}'/etc/passwd  ARGC=2  0=awk  1=/etc/passwd  ARGC得到所有输入参数个数,ARGV获得输入参数内容,是一个数组。  7、获得传入的文件名(FILENAME使用)  [chengmo@localhost~]$awk'BEGIN{FS=":";printFILENAME}{printFILENAME}'

8、/etc/passwd  /etc/passwd  FILENAME,$0-$N,NF不能使用在BEGIN中,BEGIN中不能获得任何与文件记录操作的变量。  8、获得linux环境变量(ENVIRON使用)  [chengmo@localhost~]$awk'BEGIN{printENVIRON["PATH"];}'/etc/passwd  /usr/lib/qt-3.3/bin:/usr/ker

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。