shell脚本——awk命令详解
每日分享:文章目录一、awk1、工作原理2、格式3、常见的内建变量二、awk命令使用——二、1、2、三、awk是一种强大的编辑工具,相较于sed常常作用于一整个行的处理,awk则比较倾向于一行当中分成数个字段来处理,因为awk相当适合小型的文本数据。一、awkawk 比较倾向于将一行分成多个字段然后再进行处理,且默认情况下字段的分隔符为空格或 tab 键。awk 执行结果可以通过 print 的功
·
每日分享:
也许你错过了今天的落日,但你可以去追逐下一个黎明!
文章目录
一、awk
- awk是一种强大的编辑工具,相较于sed常常作用于一整个行的处理,awk则比较倾向于一行当中分成数个字段来处理,因为awk相当适合小型的文本数据。
- awk 比较倾向于将一行分成多个字段然后再进行处理,且默认情况下字段的分隔符为空格或 tab 键。awk 执行结果可以通过 print 的功能将字段数据打印显示。
1、工作原理
-
逐行读取文本,默认以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中,并按模式或者条件执行编辑命令。
-
在使用awk命令的过程中,可以使用逻辑操作符“&&”表示“与”、“||”表示“或”、“!”表示“非”;还可以进行简单的数学运算,如+、-、*、/、%、^分别表示加、减、乘、除、取余和乘方。
2、格式
1、awk 选项 '模式或条件 {操作}' 文件 1 文件 2 …
2、awk -f 脚本文件 文件 1 文件 2 …
3、常见的内建变量
内建量 | 说明 |
---|---|
NF | 当前处理的行的字段个数 |
NR | 当前处理的行的行号 |
FS | 列分割符。指定每行文本的字段分隔符,默认为空格或制表位。与-F作用相同 |
$0 | 当前处理的行的整行内容 |
$n | 当前处理行的第n个字段(第n列) |
FILENAME | 被处理的文件名 |
RS | 行分隔符。awk从文件上读取资料时,将根据RS的定义把资料切割成许多条记录,而awk一次仅读入一条记录,以进行处理。预设值是’\n’ |
二、awk命令使用——根据行输出内容
输出所有内容
方法一
方法二
输出指定行的内容
输出第2行到第4行的内容
方法一
方法二
输出第2行和第四行内容
输出奇数偶数行
输出奇数行
打印偶数行
输出指定字符行的内容
输出a开头的行
输出以字母 f 结尾的行
三、awk命令使用——根据字段输出
指定字段内容作为分隔符
输出与指定内容相反的内容
四、awk命令使用——BEGIN、END模式
1、格式
awk 'BEGIN{...}; {...}; END{...}' 文件
-
BEGIN模式是在处理指定的文本之前,需要先执行BEGIN模式中指定的动作;
-
awk再处理指定的文本,之后再执行END模式中指定的动作;
-
END{ } 语句块中,往往会放入打印结果等语句。
2、例子
五、awk命令使用——通过管道符、双引号调用
查看内存使用情况
六、awk命令使用——数组的使用
数组为数字
数组为字符串
创建数组并循环
更多推荐
已为社区贡献2条内容
所有评论(0)