AWK的语法

内置变量
提示:系统默认设置的变量
| 变量名 | 含义 |
|---|---|
| NR | 列出目前处理的行数 |
| NF | 每行有多少字段 |
| F | 分隔符 |
| $0 | 执行过程当前行所有文本内容 |
| $1 | 执行过程第一字段文本内容 |
| $2 | 执行过程第二字段文本内容 |
例如:
NR用法:

NF用法:

$0用法:

$1用法:

经典案例
1、 只显示/etc/passwd的账户名

2、搜索/etc/passwd有root关键字的所有行,并显示对应的shell

3、 只显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以逗号分割,且在开头一行添加列名name,shell,在最后一行添加"blue,/bin/nosh"。
分析:拆解-组合;一、先显示账户和对应的shell,并以逗号隔开

二、开头一行添加列名name,shell

三、最后一行添加"blue,/bin/nosh"

4、 取出帐号与登陆者的 IP ,且帐号与 IP 之间以 [tab] 隔开

5、在 /etc/passwd 当中是以冒号 “:” 来作为字段的分隔,该文件中
第一字段为帐号,第三字段则是 UID。打印第三栏小于 10 以
下的数据,并且仅列出帐号与第三栏
一、打印以冒号 “:” 为分隔,第一字段,第三字段

二、第三栏小于 10 以下的数据(用比较运算符)


本文介绍了AWK编程语言中的内置变量,如NR、NF、FS和$0、$1、$2等,以及它们在处理文本数据时的作用。通过示例展示了如何使用这些变量来筛选和操作数据,包括显示特定行、提取字段信息以及进行数据格式转换。同时,给出了多个经典案例,如从/etc/passwd文件中提取账户名、shell信息,以及按指定格式输出账户和shell信息等。
33万+

被折叠的 条评论
为什么被折叠?



