1 awk处理流程
awk 按顺序读取文本文件内容,默认以空格区分域。从第一行一直读取到文本的最后一行
可以通过 F 标签重新指定分割域标示。
//将指定文件按照行读取 并且以 : 分割域,分别打印出 正行以及第一个、第二个、第三个域的值
$ awk -F : '{print $0,$1,$2,$3}' filename
//不同的方法实现上面同样的功能
$ awk 'BEGIN{FS=":"}{print $0,$1,$2,$3}' filename
//这里的BEGIN是指在操作具体函数操作之前的指令,通常配合END使用,也可以单独使用
2 awk 查看字符串是否包含某子串
$ awk '{if($0 ~"root"){print "it matched !"} else{print "nothing..."}}'
~ 是包含子串的正则匹配,也可以使用 !~ 不包含,同理,这里还可以使用 >,>=,<,<=,==,!= 进行计算比较。
包含子串还可以使用 '//' 标签。例如
$ awk '/root/' /etc/passwd
上面的指令 会打印出包含root子串的一整行信息
同理,还可以通过 '//' 标签截取文本中的一整段信息
$ awk '/this is begin str/,/this is end str/' filename
上面的指令会打印出 文本文件从begin开始到end结束的文本信息
awk查询特定字符开始的字符串
$ awk '$0 ~/^Akl.*/{print $0}' filename
上面指令完成在指定文件中查询以Akl开头的数据行
3 awk 函数的处理
比较通用的处理指令可以被写在 特定的文件中,在适当的地方进行调用可以增加代码的复用性
例如:
定义一个函数体 在文件 fuc.awk ,其内容被编辑为 {print $1,$2 * $3}
调用此函数
$ awk -f fuc.awk filename
4 awk 使用循环
awk中可以使用for 循环,也可以使用 while循环
for 实例:
$ echo "" | awk '{for(i=1;i<5;i++){print i}}'
上面指令将会输出 1,2,3,4
while实例:
$ echo "" | awk 'BEGIN{uk=10;print "this is begin line"}{while(uk > 0){print uk;uk--}}END{print "this is end line"}'
5 awk NF NR 的使用
NF : Number of Field,返回的是一个数值,表示指定域的个数
$NF : 返回的则是域本身的值
NR: Number of Records,返回的是一个数值,表示已经读取了多少行数据。
分享到:
相关推荐
awk 编程语言入门 awk 编程语言是一种功能强大的命令行语言,主要用于处理文本数据。它可以读取文件或其他命令的输出,并根据条件进行查找和操作。awk 的设计思想很简单,但在实际操作中却很复杂。 awk 中的记录、...
《GAWK: Effective AWK Programming - GNU Awk编程经典》是一本介绍如何使用GAWK进行编程的指南。 在标题中提到的“GNU Awk编程经典”指的是这本书是学习和掌握GNU Awk编程的权威资源。该书详细介绍了awk语言的基础...
### Sed AWK编程指南知识点详解 #### 一、引言 在计算机科学领域,文本处理是必不可少的一部分。其中,`sed` 和 `awk` 是两种非常强大的文本处理工具,广泛应用于Linux/Unix环境中。本指南将详细介绍这两个工具的...
### sed命令和awk编程教程知识点概述 #### 一、sed命令基本概念与使用方法 - **sed命令简介**: - `sed` 是一个非交互式的流编辑器(Stream Editor),主要用于自动化文本处理任务,尤其适合处理大型文件或者复杂的...
**五、AWK编程** AWK是一种强大的文本分析工具,常用于处理和分析结构化的数据文件。它在每一行数据上运行用户定义的模式匹配和操作,提供了灵活的数据处理能力。 AWK的基本结构包括模式(pattern)和动作(action...
《Effective awk Programming, 4th Edition》是一本深入讲解awk编程技术的专业书籍,旨在帮助读者提升在文本处理和数据操作中的效率。awk是Unix/Linux环境中的一款强大工具,它专门用于处理结构化的文本数据,如日志...
总的来说,"AWK编程实例指南.rar"提供的资源对于想学习或提升AWK编程能力的人来说非常有价值。通过阅读和实践其中的实例,不仅可以理解AWK的基础知识,还能学习如何在实际项目中有效地应用它。无论是数据处理、日志...
《Effective AWK Programming》是关于AWK编程语言的一本经典著作,主要面向那些希望深入理解和高效使用AWK的读者。AWK是一种强大的文本分析工具,常用于数据处理、报告生成和脚本编写,在UNIX和类UNIX系统中广泛使用...
### AWK编程初学者指南 #### 一、引言 AWK编程,作为一种在Unix操作系统中广泛应用的脚本语言,自1977年由Alfred V. Aho、Peter J. Weinberger和Brian W. Kernighan三位大师共同创造以来,便以其强大的文本处理...
内容概要:本文档旨在介绍awk编程语言的使用技巧及其在Linux系统自动化运维中的重要作用。文档详细解释了awk如何按行读取文件,以及如何通过定义特定的分隔符来提取文件中的不同字段。同时介绍了awk内置的正则表达式...
教您有关awk语言以及如何有效使用它的知识。 还介绍了awk的GNU实现gawk。
本教程是为初学者准备的,将带你步入AWK编程的世界,帮助你理解其基本概念和常用操作。 1. **AWK的基本原理** - AWK工作在行级别,它逐行读取输入文件,然后根据用户定义的模式(pattern)对每一行进行匹配。 - ...
### Linux下的awk编程 #### 简介 `awk`是一种强大的文本处理工具,它在Linux环境下被广泛用于数据操作任务,例如格式化数据、验证数据有效性、查找具有特定属性的项、累加数字以及打印报告等。由于这些任务经常...
**awk编程的高级应用** 书中还涉及了如何开发处理索引的应用程序,以此来演示awk的强大功能。此外,还包括了如何获取不同awk版本的FTP和联系信息。 **用户提供的程序实例** 本书还包含了一系列由用户提供的程序,...
本篇将围绕"Linux下BASH、AWK编程视频教程"这个主题,深入探讨这两个编程语言的基础知识及其在实际工作中的应用。 首先,BASH是Linux的默认shell,它是用户与系统进行交互的主要接口。它不仅提供了基本的命令执行...
在标签中提到的“latex awk awkbook LaTeXTeX”,暗示了这个压缩包可能包含与AWK编程相关的LaTeX文档或教程。"awkbook"可能是《AWK程序设计语言》的LaTeX源代码,这对于学习AWK和LaTeX的人来说非常有价值,因为可以...
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 ...