我试图理解shell脚本中的gawk。
此命令如何工作?
gawk -vN="$N"
并根据
进行拆分 n=patsplit($0,a,/\<\w*\>/,s)
和这个
PROCINFO["sorted_in"]="@val_num_desc"
它是如何运作的?
答案 0 :(得分:2)
第一个命令将参数传递给gawk
。参数为N
,分配给N
的值为bash变量$N
的值。
第二个命令根据正则表达式$0
将awk变量/\<\w*\>/
拆分为字符串。它返回它能够分割的字符串数。见http://www.gnu.org/software/gawk/manual/gawk.html#String-Functions。正则表达式由\<
(单词边界的开头),\w
(单词成分),\>
(单词边界的结尾)组成。请参阅http://www.gnu.org/software/gawk/manual/gawk.html#GNU-Regexp-Operators
第三个命令是gawk
版本4.1的一个特殊功能。这用于按特定顺序遍历数组(在for
循环中)..请参阅http://www.gnu.org/software/gawk/manual/gawk.html#Scanning-an-Array