2011-10-19 82 views
0

我在啓動腳本(abc.sh)中的一個已經低於行:替換文件內聯字符串中使用的sed

runuser root -c "export CATALINA_OPTS=\"-Xms5g -Xmx10g\"; \ 
    nohup $CATALINA_HOME/bin/startup.sh $CATALINA_HOME > /dev/null &" 

我想下面一行的替代-Xms5g -Xmx10g:

-Xms500m -Xmx1g -Xrunjdwp:transport=dt_socket,address=9000,server=y,suspend=n 

我寫了一個腳本myscript.sh其中包含下面的代碼:

#!/bin/bash 
sed -i~ 's/-Xms5g -Xmx10g/-Xms500m \ 
    -Xmx1g -Xrunjdwp:transport=dt_socket,address=9000,server=y,suspend=n' ./abc.sh 

但它給我的錯誤:

sed: -e expression #1, char 95: unterminated `s' command 

任何人都可以幫我糾正這個命令嗎?

注意:還有其他幾行也在abc.sh

謝謝!

回答

1

最後未能添加/

sed -i~ 's/-Xms5g\s*-Xmx10g/-Xms500m -Xmx1g \ 
    -Xrunjdwp:transport=dt_socket,address=9000,server=y,suspend=n/' ./abc.sh 

模式應該是這樣的:s/regexp/replacement/