Grep、Sed、Awk 03 Awk
Linux 三剑客之 Awk (由三个创始人的姓氏首字母组成),相比于 Grep 和 Sed 而言更为特殊一些,它是一种模式匹配的编程语言,其主要的作用匹配文本进行处理,其擅长实现对文本的格式化输出,而作为一门编程语言:支持函数,变量,循环,运算,但相对简单。 AWK 的执行逻辑是:搜索文件的每一行,如果发现匹配内容,就执行下一个编程步骤,如果没发现,就继续处理下一行的内容。 Intro 由于 AWK 实际上是一个编程语言,本篇主要只介绍其命令行用法。 首先介绍 AWK 命令,其主要用于匹配文本并格式化输出,适用于对表格化的数据机型处理。其使用模板大致如下: bash awk [options] 'program' var=value file... awk [options] 'pattern {action1; action2; ...}' file ... awk [options] -f programfile var=value file... awk [options] 'BEGIN{ action;... } pattern{ action;... } END { action;... }' file ... -f scriptfile: 从脚本文件中读取 awk 命令 -v var=value: 赋值一个用户定义变量,也可用这种方式修改内置变量 -F fs: fs 可为任意字符串或者正则表达式,用于指定分隔符(也可以通过-v 的方式修改内置的分隔符变量来实现) 每个 action 或者说 statement 之间用 ; 分割 ...