2013-03-03 49 views
0

我試圖取代:桑達特殊字符

#/*!40101 SET @[email protected]@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; 

有了:

SET @[email protected]@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO'; 

,這裏是我的sed命令不工作......

sed 's|#/\*\!40101 SET @[email protected]@SQL_MODE\, SQL_MODE=`NO_AUTO_VALUE_ON_ZERO` \*/;|SET @[email protected]@SQL_MODE\, SQL_MODE='NO_AUTO_VALUE_ON_ZERO'\;|' file.sql > filenew.sql 

我猜我的問題是caracter',但我找不到解決方案 你能幫我!

謝謝!

回答

0

繞過使用sed命令裏面的單引號的問題,圍繞着它的雙引號之間:

sed "s|#/\*\!40101 SET @[email protected]@SQL_MODE\, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' \*/;|SET @[email protected]@SQL_MODE\, SQL_MODE='NO_AUTO_VALUE_ON_ZERO'\;|" file.sql > filenew.sql 

它產生:

SET @[email protected]@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO'; 
+0

謝謝!有用 ! – 2013-03-03 14:20:04