测试文件:
通俗用法:
awk ‘/pattern/{print $1}’ file
示例: 匹配以 root 开头的行并输出结果
在上面的例子中, 如果需要以 : 分割, 则需要指定分隔符
两种方式:
awk -F":" '/pattern/{print $1}' file
awk 'BEGIN{FS=":"} /pattern/{print $1}' file
在末尾如果还需要打印其他信息, 可以使用END{}:
awk 'BEGIN{xxx} {print $} END{xxx}' file
示例:
最后一列, $NF
多参数输出分隔符 OFS, 默认为 空格
示例:
多记录输出分隔符 ORS 默认回车
示例: 可以看到, 在指定 ORS 后, 多个输出记录以 空格 分隔
输入分隔符 RS
示例:
我们将上调记录的输出结果保存至文件, 使用 awk 查看
此时指定输入分隔符 RS , 可以看到文本以空格分隔输出
C语言风格输出 printf(), - 表示左对齐, 数字代表占位符
awk 条件判断, 逻辑操作符(&&, ||, !)
示例1: 匹配 UID < 3 的用户信息
示例2: 匹配非root用户, 且 UID 小于5 的用户
awk 使用外部变量:
外部变量
命令在单引号里:
命令在双引号里:
使用 -v :