1 | awk 'NR==FNR{a[$1];next}$1 in a{print $1}' file1 file2 |
在awk中,FNR指的是当前文件中的记录号(通常是行号)并NR引用总记录号。运算符==是一个比较运算符,当两个周围的操作数相等时返回true。
这意味着条件NR==FNR仅适用于第一个文件,因为FNR每个文件的第一行重置为1,但NR会继续增加。
此模式通常用于仅对第一个文件执行操作。在next块内是指任何进一步的命令被跳过(相当于 continue),所以它们仅在比所述第一其他文件运行。
该条件FNR==NR比较了相同的两个操作数NR==FNR,因此它的行为方式相同。
在file2中查找也在file1中的键(第一行)。
1 |
|