$cat macro
File abc.txt
File xyz.csv
File bdc.txt
File lkm.csv
File cde.txt
做grep來只得到* .txt文件名
$grep -oh "\w*xml\w*" macro
abc.txt
bdc.txt
cde.txt
現在我需要將這些grep結果傳遞給數組,下面給出的代碼不能正常工作。我也可以不存儲所有單個變量grep的結果即作爲陣列的獨立變量
$cat txt.sh
var=$(grep -oh "\w*xml\w*" macro)
echo ${var[0]} #echo var ---both displays same result.
輸出
abc.txt bdc.txt cde.txt
但我想他們在值陣列分配如下
>var[0]=abc.txt
>var[1]=bdc.txt
>var[2]=cde.txt
注意:xml文件的數量可能會有所不同。所以它應該是動態的。我也在努力.. 在此先感謝。
不幸的是數組是由一些提供非標準擴展:
取決於你想要做什麼,它可能陣列讀取之後是一個好主意,以節省$ IFS的舊值,並恢復它shell,你需要指定你正在使用哪一個(至少要知道第一個元素是否有索引1或0) – loreb