Que signifie awk sous Linux ?

王林
王林original
2020-06-29 11:42:185424parcourir

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

Que signifie awk sous Linux ?

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个字段,并打印行号

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Que signifie sed sous LinuxArticle suivant:Que signifie sed sous Linux