我的脚本使用 awk 连续读取文件并评估输入数据。现在我需要读取和写入输出文件的第一行。有信息,哪一行是什么(第一个传感器的°C,第二个传感器的°C)等。
我尝试过这样的:
awk '
{
System("awk 'if(NR==1){print $0}' \"OutputFile\"" | getline result)
print result " it worked" #Print First line
}
' "InputFile"
如果没有 System("...") 和字符串中的反斜杠,它会返回正确的值:
awk 'if(NR==1){print $0}' "OutputFile"
但看来我在行内犯了一些错误。捕获这一行的正确语法是什么?是否还有更简单的解决方案?
答案1
尝试
awk '{ getline result < "OutputFile" ;
print result " it worked" #Print First line
} ' "InputFile"
无需调用在 awk 内调用 awk 的系统(例如 shell)。