2015-04-14 25 views
0

我有一個包含三列數據的文本文件。閱讀內部文本文件並將每個列定義爲新變量

我需要bash來讀取文本文件,然後定義每個列作爲它自己的變量,這些變量將在bash腳本的更遠處使用。

我一直在嘗試使用下面的代碼,但它只能讀取文本文件的第一行,然後失敗後:

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

文本文件數據:

KBOS 42.3629 -71.0064 
LSC 44.5357 -72.0286 

回答

0

希望它會幫助你。這樣你就可以做到這一點!

如您所見,變量RES包含在執行eval "var=x"時將創建bash變量的命令。這樣,bash將充電中的變量值

問候

SCRIPT

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="$1}'` 
    eval `echo $var1 ` 
    echo "RES:"$res 
    echo "VAR:"$var1 
done < data 

結果

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

的問候!