sed 使用扩展正则式的分组功能进行替换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sed 使用扩展正则式的分组功能进行替换相关的知识,希望对你有一定的参考价值。

以下命令使用sed的扩展正则式的分组功能进行替换,-r参数启用扩展正则式支持

sed  -r -i ‘s/(PASS_MAX_DAYS)\s+([0-9]+)/\1 90/‘  /etc/login.defs

这条命令将/etc/login.defs文件的行

PASS_MAX_DAYS   99999

替换为

PASS_MAX_DAYS 90

以下正则式支持分组功能,()表示一个分组

(PASS_MAX_DAYS)\s+([0-9]+)

将PASS_MAX_DAYS放在分组1中,[0-9]+匹配任意多个数字,放在分组2中,两个分组中间还有\s+,\s+表示任意多个空白字符,\1引用分组1,\2引用分组2

以上是关于sed 使用扩展正则式的分组功能进行替换的主要内容,如果未能解决你的问题,请参考以下文章

Shell编程之正则表达式(sed)

正则表达式之扩展正则

五三剑客之sedawk

shell脚本编程之正则表达式(扩展正则表达式sed)

正则表达式-Python实现

正则表达式