Shell/awk,获取第1列和第2列,运行curl链接,将结果分配给第3列
我是壳牌和awk的新手。我有以下数据:Shell/awk,获取第1列和第2列,运行curl链接,将结果分配给第3列,shell,awk,Shell,Awk,我是壳牌和awk的新手。我有以下数据: ID Lat Lon 1 20 110 2 30 120 我想获取lat和long,调用API来获取该位置的城市。 我的想法是让Lat,Lon做个卷发http://.....lat&long=LAT,LONG…,在我得到城市后,将其分配到第四列 我尝试过以下代码: cat $FILENAME | head -1 | awk '{LAT=$9; LONG=$10} {LINK="$LINK_a$LAT$LINK_b$LONG$LINK_c$APIK
ID Lat Lon
1 20 110
2 30 120
我想获取lat和long,调用API来获取该位置的城市。
我的想法是让Lat,Lon做个卷发http://.....lat&long=LAT,LONG…,在我得到城市后,将其分配到第四列
我尝试过以下代码:
cat $FILENAME | head -1 | awk '{LAT=$9; LONG=$10} {LINK="$LINK_a$LAT$LINK_b$LONG$LINK_c$APIKEY}'
LINK_a、LINK_b、LINK_c和APIKEY是链接的一些未更改字符串。我的代码可以返回一个正确的链接字符串,但我如何才能卷曲此链接并将返回城市分配给我的文件?不完全确定您的问题,因此根据您的陈述,请尝试下面的内容并让我知道好吗
while read first second
do
if [[ $first != "ID" ]]
then
value=$(your curl command $first $second values.)
if [[ -n "$value" ]]
then
echo "$first $second $value"
else
echo "No value for 3rd column here."
fi
fi
done < "Input_file"
上面将从输入文件的第1行之外的每一行获取变量,并通过当前行的第1和第2个字段运行curl命令,因为循环将逐个遍历所有行。另外,如果curl命令有一些输出值存储到名为value的变量中,那么只有它会打印3列。您也可以根据需要将它们放入输出文件中
如果这不符合您的要求,那么请在您的帖子中发布更多的样本,并提供更多的解释