首先,awk是一种经典的的文本处理工具,使用广泛。为了更好地掌握awk,我们需要了解其基本原理以及常用的语法。
一、基本原理
awk其实是一种编程语言,它的基本原理就是从文件或输入流一行一行地读取数据,然后按照指定的规则进行处理。这里的规则是指一个程序或脚本,也就是awk语言的代码。
二、常用语法
- 基本语法
awk程序的基本格式如下:
awk '条件1{动作1} 条件2{动作2} 条件3{动作3} ...' 文件名
解释一下这个语法:
- awk是命令名称;
- 条件和动作都是可选的;
- 每个条件可以对应一个或多个动作;
-
条件可以是正则表达式,也可以是比较运算符等。
-
内置变量
awk还有一些内置变量,这些变量可以用在awk程序中,常用的内置变量如下:
- $0:表示整行内容;
- $1、$2、$3 等:表示当前行的第1列、第2列、第3列……;
- NF:表示当前行的总列数;
- NR:表示当前行的行号;
- FS:表示列分隔符,默认为“空格”符;
-
RS:表示行分隔符,默认为“回车”符。
-
示例说明
示例1:筛选出文件中包含“hello”的行。
代码如下:
awk '/hello/' file.txt
解释一下这个代码:其中的“/hello/”是一个正则表达式,表示文件内容中包含“hello”的行。所以此代码的意思是:在file.txt文件中筛选出包含“hello”的行。
示例2:统计文件有多少行、多少字符、多少单词。
代码如下:
awk '{lines++} {chars+=length($0)} {words+=NF} END{print "总行数:" lines; print "总字符数:" chars; print "总单词数:" words}' file.txt
解释一下这个代码:当awk命令执行时,每一行都会按顺序执行三段代码:第一段将行数加1,第二段将字符数累加,第三段将单词数累加。最后,使用END语句输出总行数、总字符数和总单词数。
三、学习笔记收集
笔者收集了一些关于awk的学习笔记,以下是其中的几条:
- awk内置函数:gsub、match、substr、split 等;
- awk运算符:算术运算符、比较运算符、逻辑运算符等;
- awk实践技巧:如何匹配文本中的一段特定字符串;
- awk的常见错误:打印内容不对、拼写错误等。
以上就是awk的简介及学习笔记收集。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:awk简介与学习笔记收集第3/3页 - Python技术站