“的含义;a「;在awk命令中?

“的含义;a「;在awk命令中?,awk,Awk,我在一个脚本中有一个awk命令,我正在努力使它生效,但我不理解“a”的含义: awk'FNR==NR{a[$1]=$0;next}($a中的2)'FILELIST.TXT FILEIN.*>FILEOUT* 我对使用命令行很陌生,所以我只是想弄明白,谢谢。这里a不是命令,而是awk数组它也可以是arr: awk 'FNR==NR {arr[$1]=$0;next} ($2 in arr)' FILELIST.TXT FILEIN.* > FILEOUT.* 这里a不是一个命令,而是一个a

我在一个脚本中有一个awk命令,我正在努力使它生效,但我不理解“a”的含义:

awk'FNR==NR{a[$1]=$0;next}($a中的2)'FILELIST.TXT FILEIN.*>FILEOUT*


我对使用命令行很陌生,所以我只是想弄明白,谢谢。

这里
a
不是命令,而是
awk数组
它也可以是
arr

awk 'FNR==NR {arr[$1]=$0;next} ($2 in arr)' FILELIST.TXT FILEIN.* > FILEOUT.*

这里
a
不是一个命令,而是一个
awk数组
它也可以是
arr

awk 'FNR==NR {arr[$1]=$0;next} ($2 in arr)' FILELIST.TXT FILEIN.* > FILEOUT.*

在代码中,数组只不过是一个数组

FNR==NR{ a[$1]=$0;next } 
创建一个名为“a”的数组,其索引取自第一个输入文件的第一列。 所有元素值均设置为当前记录


next语句强制awk立即停止处理当前记录并继续处理下一条记录。

在代码中,a只是一个数组

FNR==NR{ a[$1]=$0;next } 
创建一个名为“a”的数组,其索引取自第一个输入文件的第一列。 所有元素值均设置为当前记录


next语句强制awk立即停止处理当前记录并继续处理下一条记录。

a
是一个关联数组

a[$1] = $0;
将行中的第一个单词
$1
作为数组中的索引,并将整行
$0
作为值存储。它对第一个文件执行此操作(而文件记录编号等于总记录编号)。
next
命令意味着它在处理第一个文件时不处理脚本的其余部分

对于其余的数据文件,它将计算:

($2 in a)
如果找到
$2
中的单词,则打印该行。这使得在
a
中存储
$0
的成本相对较高,因为它存储的是整个文件的一个副本(如果文件每行只有一个单词,则可能存储两次)。做
a[$1]+
甚至
a[$1]=1
更为常规和充分

给定FILELIST.TXT

ABC The rest
DEF And more
给定的FILEIN.1包含:

Word ABC and so on
Grow FED won't be shown
This DEF will be shown
The XYZ will be missing
输出将是:

Word ABC and so on
This DEF will be shown

a
是一个关联数组

a[$1] = $0;
将行中的第一个单词
$1
作为数组中的索引,并将整行
$0
作为值存储。它对第一个文件执行此操作(而文件记录编号等于总记录编号)。
next
命令意味着它在处理第一个文件时不处理脚本的其余部分

对于其余的数据文件,它将计算:

($2 in a)
如果找到
$2
中的单词,则打印该行。这使得在
a
中存储
$0
的成本相对较高,因为它存储的是整个文件的一个副本(如果文件每行只有一个单词,则可能存储两次)。做
a[$1]+
甚至
a[$1]=1
更为常规和充分

给定FILELIST.TXT

ABC The rest
DEF And more
给定的FILEIN.1包含:

Word ABC and so on
Grow FED won't be shown
This DEF will be shown
The XYZ will be missing
输出将是:

Word ABC and so on
This DEF will be shown
这是一个数组。请参阅以获取更多参考。它是一个数组。有关更多参考,请参阅