以下命令使用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