2011-07-29 185 views
0

以下命令作品使用通配符預期並改變用戶名爲abc在sed命令

sed -e 's/username=company_user/username=abc/' Service.properties 

但是,如果用戶名是不同的東西比「company_user」等將失敗原因顯而易見。 如何在這裏使用通配符?

+5

用戶名後面是什麼?試試''/ username =。*/username = abc /''。 – Beta

+1

如果你的sed是GNU sed,那麼你可以閱讀關於sed [正則表達式](http://www.gnu.org/software/sed/manual/sed.html#Regular-Expressions)和[GNU擴展](http ://www.gnu.org/software/sed/manual/sed.html#Escapes) –

回答

0

這取決於什麼是有效的用戶名,但這裏是一個開始:

sed 's/username=[a-z0-9_]+/username=abc/i' Service.properties 

這將取代由大寫或小寫字母的任意用戶名(注意i在年底,這使得模式的情況下 - 不敏感),數字和/或帶「abc」的下劃線。如果您需要添加其他字符,只需在[]內添加它們即可。