当前位置:K88软件开发文章中心电脑基础基础应用04 → 文章内容

Linux如何使用文本处理工具awk

减小字体 增大字体 作者:华军  来源:不详  发布时间:2019-1-30 23:53:42

  awk: 中文意思是报告生成器 能够根据我们输入的信息,将信息格式化以后显示,将定义好的信息以比较美观(直观)的方式显示。awk是Linux中的文本处理工具,类似于shell编程语言,拥有属于自己的语言,下面小编就给大家介绍下Linux中awk文本处理工具的用法,感兴趣的朋友可以来了解一下。   调用方式  1.命令行  awk [-F field-separator] ‘commands’ input-file(s)  commands是真正awk命令,[-F域分隔符]是可选的。input-file(s) 是待处理的文件。在awk中,文件的每一行中,由域分隔符分开的每一项称为一个域。通常,在不指名-F域分隔符的情况下,默认的域分隔符是空格(或者tab)。  2.shell脚本方式  将所有的awk命令插入一个文件,并使awk程序可执行,然后awk命令解释器作为脚本的首行,以便通过键入脚本名称来调用。相当于shell脚本首行的:#!/bin/sh 可以换成:#!/bin/awk -f  3.将所有的awk命令插入一个单独文件,然后调用:awk -f awk-script-file input-file(s)其中,-f选项加载awk-script-file中的awk脚本,input-file(s)跟上面的是一样的。  内置变量  ARGC:命令行参数个数  ARGV:命令行参数排列  ENVIRON:UNIX环境变量  ERRNO:UNIX系统错误消息  FILENAME:awk浏览的文件名  OFMT:数字的输出格式 %.6g  FNR:浏览文件的记录数  FS:设置输入域分隔符,等价于命令行 -F选项  NF:浏览记录的域的个数  NR:已读的记录数,就是行号,从1开始  FNR:当前记录数  OFS:输出域分隔符  ORS:输出记录分隔符  RS:控制记录分隔符  $0:当前记录(作为单个变量)  $1~$n:当前记录的第n个字段,字段间由FS分隔  输出函数  print:参数可以是变量、数值或者字符串。字符串必须用双引号引用,参数用逗号分隔。如果没有逗号,参数就串联在一起而无法区分。这里,逗号的作用与输出文件的分隔符的作用是一样的,只是后者是空格而已  printf:其用法和c语言中printf基本相似,可以格式化字符串,输出复杂时,printf更加好用,代码更易懂。具体格式如下:  %d 十进制有符号整数  %u 十进制无符号整数  %f 浮点数  %s 字符串  %c 单个字符  %p 指针的值  %e 指数形式的浮点数  %x %X 无符号以十六进制表示的整数  %o 无符号以八进制表示的整数  %g 自动选择合适的表示法  获取外部变量  1.获取普通外部变量  awk ‘{action}’ 变量名=变量值  2.BEGIN程序块中变量  awk –v 变量名=变量值 [–v 变量2=值2 …] ‘BEGIN{action}’  3.环境变量  需要用到内置变量ENVIRON实现       上面就是小编总结的Linux如何使用文本处理工具awk的方法,希望能帮助到大家。

Linux如何使用文本处理工具awk