首頁 >運維 >linux運維 >linux下的awk是什麼意思

linux下的awk是什麼意思

王林
王林原創
2020-06-29 11:42:185444瀏覽

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

linux下的awk是什麼意思

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