sed搜尋檔案中陣列變數並賦值給現變數

2021-06-22 06:46:03 字數 512 閱讀 1979

shell剛入門

需求: 需要從乙個檔案中讀取乙個變數值,並賦值給現有變數使用。首先想到用grep,搜尋到返回,然而事與願違,變數值是陣列,需要遍歷,然而返回的是乙個整字串,

即使通過擷取,還是出現了「「string」」的樣式, 這個是陣列元素正是我要遍歷的目錄,始終提示找不到目錄。 然後使用 grep &a的方式,可是變數使用多次,返回的無法使用。

最後只能通過比較繁瑣的辦法了,首先使用sed返回變數值:

# search file name "***.sh"

string=`sed -n '/folders=/'p  ***.sh  | sed 's/^"//g' | sed 's/\"//g' | sed 's/folders=//'`

注:sed 's/^"//g' | sed 's/\"//g' 用於除去首位雙引號

得到的值是 echo $string 樣式為:(hello word  shell)

此刻的「()」已經失去了陣列的作用,是個字串,所以是要刪除再自己加上:

從txt檔案中讀取資料並賦值給Mat

一直想把相機標定的內參和畸變直接從txt檔案中讀取,並賦值給mat。現在 如下,交流 注 本人是基於qt來進行程式設計,可以直接復用,貼上相應部分就行。void initmat mat m,float p 3 void initmat1 mat m,float num int main int ar...

如何給陣列中的元素賦值

如果把單個變數看成是 遊兵散勇 的話,那麼陣列對應的是 集團 集團的 兵 就是我們前面說的陣列的元素。這些 兵 不再有單獨的名字,而是統一使用編號來區別,這個編號,我們稱為 下標 在和陣列打交道時,我們需要分清 是對整個陣列操作,還是對陣列中的單個元素進行操作。1.在定義陣列時初始化。普通變數可以在...

shell中賦值給變數會產生新程序

這個問題一般情況下是不會注意而且覺得有問題的。但是在抓取程序id的時候,可能出現問題。比如今天想抓取乙個輸入命令的程序 指令碼名稱是greprss,測試程式是a.out 則使用的時候是greprss a.out 目的是抓取a.out的rss變化 以及獲取最大值 當我企圖使用 a.out pid ps...