linux下shell腳本中sed命令使用變量

用linpack做測試,寫了一個腳本, 因爲每次可修改的參數寫在了配置文件裏,所以腳本里用sed命令來修改配置文件

#測試次數
echo “Input Number of tests:”
read numt

#每次測試的數據規模,測試次數有多少次,這裏應該又多少組數字,中間以空格隔開
echo “Input Number of equations to solve (problem size):”
read nume

#數組的主要維度,與數據規模數量相同
echo “Input Leading dimension of array:”
read ld

#運行試驗次數,即單次測試執行次數
echo “Input Number of trials to run:”
read numtr

#數據對齊值,單位是kb
echo “Input Data alignment value (in Kbytes):”

read da

這裏就錄入了四項參數,但是修改配置文件的sed命令居然不能正確修改配置文件,後來查了好多資料才知道,sed命令在使用變量的時候,和一般寫法是不一樣的,沒有變量的時候寫法是這樣的:

sed -i '2cIntel(R) Optimized LINPACK Benchmark data' testshellfile

使用變量的時候是這樣的:

sed -i "4c$nume" testshellfile

單引號變成雙引號,關於網上說的$前面需要加/來進行轉義,我這裏也沒有遇到,不加就已經可以了,加了反而會直接打印出來,也許是我還沒遇到需要轉義的地方

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章