如何在同一个awk文件中打印整个记录并请求输入(getline)?
这是awk文件的代码。它不打印输入文件中的症状列表,只在运行时询问问题。
#!/bin/awk -f
BEGIN{
print $0
printf"Enter the symptoms you are experiencing according to the numbering given in the list\n
getline symptom<"-"
}
$1==symptom{
print $2
}
这是我的输入文件:
3条答案
按热度按时间bvn4nwqk1#
假设你的数据文件名为
data
,看起来像这样:那么你应该能够使用this,它指定
-
作为两个输入文件之一,这样脚本在处理data
文件后从标准输入中读取。如果不加注解,提示将出现在用户输入的第一行之后,而不是之前,这是一个麻烦。使用GNU Awk,您可以用途:
BEGINFILE
模式仅在第二个文件-
的开始处调用。57hvy0tb2#
在开始处理之前,从BEGIN部分中的数据库中阅读数据是使用getline的罕见情况之一,但在使用getline之前,请确保阅读并完全理解http://awk.info/?tip/getline中的所有警告。
unftdfkk3#