linux下的awk是什么意思

王林
王林 原创
2020-06-29 11:42:18 4503浏览

linux下的awk是行处理器,通常用来格式化文本信息。awk在处理庞大文件时不会出现内存溢出的问题。awk命令格式:【awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}' file】。

awk介绍

(推荐教程:linux教程

awk是行处理器,相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息。

awk处理过程:依次对每一行进行处理,然后输出。

awk命令形式:

awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’ file

参数介绍:

  • -F 指定分隔符

  • -f 调用脚本

  • -v 定义变量

  • ' ' 引用代码块

  • BEGIN 初始化代码块,在对每一行进行处理之前,初始化代码,主要是引用全局变量,设置FS分隔符

  • // 匹配代码块,可以是字符串或正则表达式

  • {} 命令代码块,包含一条或多条命令

  • END 结尾代码块,在对每一行进行处理之后再执行的代码块,主要是进行最终计算或输出结尾摘要信息

我们来看一下几个应用:

awk -F: '{print NF}' /etc/passwd    //输出文件每行有多少字段
awk -F: '{print $1,$2,$3,$4,$5}' /etc/passwd    //输出前5个字段
awk -F: '{print $1,$2,$3,$4,$5}' OFS='\t' /etc/passwd    //输出前5个字段并使用制表符分隔输出
awk -F: '{print NR,$1,$2,$3,$4,$5}' OFS='\t' /etc/passwd    //制表符分隔输出前5个字段,并打印行号

以上就是linux下的awk是什么意思的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。