shell脚本之awk工具的使用

在Linux系统中,awk是一个功能强大的编辑工具,逐行读取输入文本,并根据指定的匹配模式进行查找,对符合条件的内容进行格式化输出或过滤处理,可以在无交互的情况下实现相当复杂的文本操作,被我们运维人员广泛应用于shell脚本,完成各中自动化配置任务。

awk可以直接处理目标文件,也可以和sed命令一样通过“ -f ”选项读取脚本对目标文件进行处理。

awk的语法格式如下:
shell脚本之awk工具的使用
sed命令常用于整行处理,而awk比较倾向于将一行分成多个字段,awk可以使用逻辑操作符“&&”,表示“与”,“||”表示“或”,“ !”表示“非”;还可以进行简单的数学运算,如+、-、*、/、%、^、分别表示加、减、乘、除、取余、和乘方。
awk包含几个特殊的内建变量(可直接用),如下所示:
shell脚本之awk工具的使用
awk工具的逻辑运算符:
shell脚本之awk工具的使用
用法示例:

1)按行输出文本:
shell脚本之awk工具的使用
2)按字段输出文本:
shell脚本之awk工具的使用
3)通过管道、双引号调用shell命令:
shell脚本之awk工具的使用
附加一个格式化打印——printf命令:

 选项与参数如下:

* \a:警告声音输出;
* \b:倒退键(baskspace);
* \f:清除屏幕;
* \n:输出新的一行;
* \r:也就是回车键;
* \t:水平的[tab]键;
* \v:垂直的[tab]键;
* \xNN:NN为两位数的数字,可以转换成为字符;
* %ns:其中n是数字,s代表string(字符串),也就是多少个字符;
* %ni:其中n是数字,s代表integer(整数型),也就是多少个整数码数;
* %N.nf:n和N都是数字,f代表floating(浮点),如果有小数码数,假设一共要十位数,但小数点有两位,那么可以表示为“%10.2f”;再假设字符宽度: 12345678;那么就是%8.2f意义:00000.00

用法如下:

shell脚本之awk工具的使用

shell脚本之awk工具的使用

上一篇:Linux之rz和sz命令用法详解


下一篇:Linux平台编译deb包