我正在运行awk脚本作为更大的bash脚本的一部分。 awk部分应该为输入文件的每一行添加一些参数,这些参数由一个名为script_1的脚本生成。在我看来脚本script_1确实为输入文件的每一行运行,但结果似乎只存储在变量' max'在第一个周期中。
SELECT PersonID, FirstName, LastName, Gender, DateOfBirth
FROM PERSON
INNER JOIN STUDENT S ON PERSON.PersonID = S.StudentID
INNER JOIN TEACHER T ON PERSON.PersonID = T.TeacherID
WHERE PERSON.PersonID != S.StudentID
AND PERSON.PersonID != T.TeacherID;
script_1的输出应为数字,例如:" 20180203 1430 50"
由awk处理的文本文件temp1。$ {location_array_code [$ i]}由具有日期时间日期时间的行组成:
cat ${location_array_code[$i]}.txt | gawk -v location="${location_array_code[$i]}" '
{max=""
printf("%s %s 0 %s %s 0 10",$1, $2, $3, $4) > "script1.par"
printf "%s %s %s %s %d \n", "A", "GET", location, "WT_h_6", 1 >> "script1.par"
close("script1.par")
script1_high="script1"
script1_high | getline max
printf "%s %s %s\n", $0, max }' > ${location_array_code[$i]}.txt
现在生成的文件如下:
20180204 1432 20180204 2123
20180205 1023 20180205 1792
20180206 1732 20180206 2393
...
为什么script1的结果只能在循环中保存到变量max?