2016-06-21 45 views
0

試圖編寫test1.ksh,其中包含用於搜索「%s_sitename%」字符串的命令,並將其替換爲「%s_sitename%」,並將其替換爲文件test.sql中的當前日期:使用「sed」進行更改和替換的shell腳本

s1='%s_sitename%' s2=echo date "+%Y-%b-%e" s3=$s1$s2 sed -i 's/'"$s1"'/'"$s3"'/g' test.sql exit 

回答

0
s2=echo date "+%Y-%b-%e" 

是錯誤的。首先你不需要回聲,其次你沒有在反引號裏面加上命令(``)

s1='%s_sitename%' 
s2='%s_sitename%'"$(date "+%Y-%b-%e")" 
sed -i 's/'"$s1"'/'"$s2"'/g' test.sql 

應該這樣做。

+0

謝謝Sajith!代碼正在工作!好極了! :) :) –

+0

我使用了類似於下面的內容:s1 ='%s_sitename%' s2 ='%s_sitename%「'($ date」+%Y-%b-%e「)」但是在使用相同的第二時間文件的情況下,將2016年6月22日的值作爲「%s_sitename%」,並將其更新爲「截至2016年6月22日的2016年6月22日的%s_sitename%」 –