2012-04-13 17 views
1

機密ファイルからパスワードを削除またはマスクしたい。私は以下の構文を使用しており、アルファベットや数字ベースのパスワードのような単純なパスワードで動作しますが、!@#$%^のような特殊文字パスワードは使用できません。誰も正規表現での特殊文字の一致方法を知っていますか?ここで私は単純なパスワードを使用しています。ファイル内の特殊文字パスワードを正規表現する正規表現

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

引用文字が(バックスラッシュと例:それはありますか?ファイルにエスケープされている方法。 'パスワード=」マイ\「パス」 ')、二重引用符(例:' password = "My" "pass" ')などを使用していますか? – ANisus

+0

普通のテキストパスワード! – Flexo

+1

@awoodland:必ずしもそうではありません(しかし、おそらくPです)。私はそこに保存されたパスワードハッシュになる可能性がありますか?そう【であることを】祈りましょう! – ANisus

答えて

3

代わりにこの正規表現を使用してください。彼らが持っているが許可されている「パスワードに?そして、あなたはいくつかのより多くの変更が必要になる場合があります。

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

ホッリー・クラップス!!!あなたは素晴らしいよ! – Satish

+2

Hehe、私はあなたの問題が解決されたそれを取る? XMLファイルであるため、 "-charactersは"でエスケープされていますが、その場合は上記のregexpはうまく動作しますが、regexpよりXMLファイルを扱う方が良いことがよくあります。 – ANisus

関連する問題