使用sed通过正则表达式搜索和替换模式

时间:2013-05-19 01:22:02

标签: regex sed

尝试在文件中替换包括密码在内的所有内容。

password=xx%40%25PKz3L2jTa HTTP

使用http://en.wikipedia.org/wiki/Regular_expression

中的正则表达式尝试了以下sed命令
 sed 's/password=(.)+/ /g' $file

 sed 's/password=[^ ]+/ /g' $file

以上都不是。为什么呢?

2 个答案:

答案 0 :(得分:2)

尝试使用-r参数:

sed -r 's/password=[^ ]+/ /g' $file

答案 1 :(得分:0)

标准sed不理解“扩展”正则表达式,例如“+”。两种选择:

使用

启用扩展正则表达式
sed -E 's/password=[^ ]+/ /g' $file

或使用标准正则表达式

sed 's/password=[^ ]*/ /g' $file

我更喜欢第二个,因为它更便携,与第一个不同,它可以使用空密码字段。