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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章