2012-04-13 49 views
1

我想從某些機密文件中刪除或屏蔽密碼。我使用以下語法,它可以使用簡單的密碼(如字母和數字基本密碼),但不能與特殊字符密碼(如@ @#$%^)一起使用。有誰知道如何匹配正則表達式中的特殊字符。在這裏,我用簡單的密碼。用於掩蓋文件中特殊字符密碼的正則表達式

sed -i 's/password="[0-9A-Za-z]\+"/password="XXXXXXXX"/g' server.xml 
+0

如何在引號字符的文件中逃脫嗎?它是用反斜槓(亦即。'密碼=」我\「通行證」 ')或使用雙引號(例如''password =「我的」「傳遞」'),還是別的? – ANisus 2012-04-13 14:04:19

+0

ouch,純文本密碼! – Flexo 2012-04-13 14:04:56

+1

@awoodland:不一定(但最有可能:P)。我*可以*是一個密碼哈希存儲在那裏?讓我們希望! – ANisus 2012-04-13 14:09:53

回答

3

改爲使用此正則表達式。他們是允許有「的密碼嗎?那你可能需要一些更多的修改。

sed -i 's/password="[^"]+"/password="XXXXXXXX"/g' server.xml 
+0

冬青的廢話!你們真棒! – Satish 2012-04-13 14:03:44

+2

呵呵,我認爲你的問題解決了嗎?因爲它是一個XML文件,所以我假設「-characters是通過"轉義的,在這種情況下,上面的正則表達式可以正常工作。但是請記住,通常有更好的方式來處理XML文件,而不是正則表達式。 – ANisus 2012-04-13 14:07:02