2012-07-07 166 views
0


我在Windows XP上使用CMD來替換Sed的特殊文本。我使用這個命令來替換像$ or *特殊字符:
正則表達式來改變sed命令+特殊字符?

sed -i "s/\*/123/g;" 1.txt 

前一個命令不工作,因爲我有\"和sed的使用,使正則表達式等特殊字符串。轉義字符^不能正常工作,因爲sed不給我錯誤,但文件內沒有任何更改。

要改變這種文本"{\*)(//123/$$我嘗試使用這個命令:
sed -i "s£"^"{^\^*)(//123/^$^$"£xx£g;" 1.txt

£是分隔符,xx是新text..but沒什麼變化

我想怎麼把文字這樣嗎?
sed -i^/\\*$/$[{" ;" 1.txtxx

回答

1

這可能會爲你工作:

echo '"{\*)(//123/$$' | sed "s/[\"][{][\\][*][)][(][/][/]123[/][$][$]/xx/" 
xx 
+0

yes..now它works..exactly命令是'回聲 '「{\ *)(// 123/$$''' sed -i「s/[\」] [{] [\\] [*] []] [(] [/] [/] 123 [/] [$] [$]/xx /「1.txt'但是,如果我想替換'[','''和'^'?我把它放到'[]'中? – user143822 2012-07-07 21:04:25

+0

@ user143822是例如'echo''[] ^「| sed」s/[] [^']/x/g「'='xxxx' – potong 2012-07-07 22:14:18