0
我有一個輸入txt文件,每行代表一個值,我需要捕獲並分配給一個變量進行處理。我創建了一個如下所示的數組,但我想創建一個使用這些變量的循環來處理.txt中每行的下面(底部)if語句。我嘗試以下,但它不遍歷,它只是指定每行的值相同:遍歷數組值並分配給新變量shell
for i in ${pov[@]}
do
echo ${pov[1]}
done
output:
$ ./sed
SPT_SEQ_010,FY16
SPT_SEQ_010,FY16
SPT_SEQ_010,FY16
SPT_SEQ_010,FY16
SPT_SEQ_010,FY16
SPT_SEQ_010,FY16
SPT_SEQ_010,FY16
SPT_SEQ_010,FY16
SPT_SEQ_010,FY16
SPT_SEQ_010,FY16
這裏是輸入數組我使用
##$cat seq_fy.txt
spt_seq_01,fy15
spt_seq_01,fy16
spt_seq_02,fy15
spt_seq_02,fy16
##array:
$ cat sed
pov=($(sed \n seq_fy.txt))
##can echo pov:
$ cat sed
pov=($(sed \n seq_fy.txt))
echo ${pov[1]}
$ ./sed
SPT_SEQ_010,FY16
我要抓住每一個POV值($ {pov [1]}到[50]),並且像當前在if語句/ for循環中那樣進行處理,直到數組爲空。還有一個問題是由pov#確定的其他值。
##current if statement being used and working after declaring each POV separately
##not using an array for the current process
if [ ! -z $pov01 ];
then
export step=${pov01//\"/}
export step03_01=$step
export pov=${pov01//\"/}
.... (using $pov as variable in connection string)
fi
我這樣做原本,它基本上只是吐出輸入文件。我知道它通過它騎自行車,但我需要使用pov1,pov2,pov3 ....作爲參數連接字符串到外部應用程序(不相關),所以我的目標是分別處理每一行(現在pov)直到它到達文件的末尾.....概念上類似於「for $ {pov [@]} -lt 50],然後導出pov = $ pov [i]」或「if [!-z $ {pov [ @]}「然後導出pov = $ pov [i] else end」.....當前我已經分別導出了每個pov,然後對每個pov都有一個if,但這不是有效的 –