读取内部文本文件并将每一列定义为新变量

Read Inside Text File and Define Each Column as a New Variable

我有一个包含三列数据的文本文件。

我需要 bash 来读取文本文件,然后将每一列定义为它自己的变量,以便在 bash 脚本中进一步使用。

我一直在尝试使用以下代码,但它只会读取文本文件的第一行,然后在以下之后失败:

while read line
do
site=`echo ${line} | gawk '{print }'`
lat=`echo ${line} | gawk '{print }'`
lon=`echo ${line} | gawk '{print }'`
done < /software/PLOT_SHARE/lamp_city_text

文本文件数据:

KBOS 42.3629 -71.0064
LSC 44.5357 -72.0286

希望对您有所帮助。这样你就可以做到!!

如您所见,变量 RES 包含将在您执行 eval "var=x" 时创建 bash 变量的命令。这样,bash会充值变量值

此致

脚本

echo "BOS 42.3629 -71.0064" >> data
echo "LSC 44.5357 -72.0286" >> data
while read line
do
   var1=`eval echo $line | awk '{print "res="}'`
   eval `echo $var1 `
   echo "RES:"$res
   echo "VAR:"$var1
done < data

结果

RES:BOS
VAR:res=BOS
RES:LSC
VAR:res=LSC

问候!!