“的含义;a「;在awk命令中?
我在一个脚本中有一个awk命令,我正在努力使它生效,但我不理解“a”的含义: awk'FNR==NR{a[$1]=$0;next}($a中的2)'FILELIST.TXT FILEIN.*>FILEOUT*“的含义;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
我对使用命令行很陌生,所以我只是想弄明白,谢谢。这里
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
这是一个数组。请参阅以获取更多参考。它是一个数组。有关更多参考,请参阅