行号变量 ¶
作者:KK
发表日期:2018.8.8
文件行号FNR
¶
在扫描每一行内容的过程中,我们可以获得一个行号变量,这个变量就是FNR
,它是大写的哦,测试脚本(t.awk):
{
print FNR
}
以上代码只是输出FNR
变量,每处理一行都会调用它,运行awk -f t.awk /etc/passwd
试试效果,我这边输出以下内容(就是一个个行号):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
但是如果awk -f t.awk /etc/passwd /etc/passwd
这样同时传2个文件路径,就会导致处理第2个文件时又会重新从1数起。
总行号NR
¶
跟FNR
不同的是,这个行号尽管在处理多个文件的情况下也是一直累加的,比如2个文件一共10行,它就从1数到10,而不是在处理第2个文件的时候重新数。
作用 ¶
除了在你需要的时候作为行号输出,还能作为数组下标来用,后面会讲到数组知识。