关于shell的sed正则表达式用法问题请大神详细讲解这句命令的意思,感激不尽.ah:# echo 'aaaaaaactttt'|sed 's/\(.*\)a/\1b/'aaaaaabctttt

来源:学生作业帮助网 编辑:作业帮 时间:2024/10/03 23:15:40
关于shell的sed正则表达式用法问题请大神详细讲解这句命令的意思,感激不尽.ah:# echo 'aaaaaaactttt'|sed 's/\(.*\)a/\1b/'aaaaaabctttt
xRnAr F#&1B|\A`9(Äa%݉ 9 B-}ի '##R*?=eL*n _}^bW~'3{s']nVg#Xh4n BěJ$N D9') Ǵ}FlמpW;Jġ`- JAPY#`B yXXj vՠ&&L>oyd϶]^5^$OHbWp*7Wc~BAhk sjT&yӴpiYևO:PPA y,rsYzҲQ0 ,zHP#f=%ӫ 4轀46l'/#i

关于shell的sed正则表达式用法问题请大神详细讲解这句命令的意思,感激不尽.ah:# echo 'aaaaaaactttt'|sed 's/\(.*\)a/\1b/'aaaaaabctttt
关于shell的sed正则表达式用法问题
请大神详细讲解这句命令的意思,感激不尽.
ah:# echo 'aaaaaaactttt'|sed 's/\(.*\)a/\1b/'
aaaaaabctttt

关于shell的sed正则表达式用法问题请大神详细讲解这句命令的意思,感激不尽.ah:# echo 'aaaaaaactttt'|sed 's/\(.*\)a/\1b/'aaaaaabctttt
正则匹配中,点号.表示任意一个字符,*表示重复前面一个字符(这里就是点号.)0次或多次.
\(.*\)a表示要以一个a字符结尾,而默认情况下*具有贪婪特性,会匹配符合要求的最大数目的字符.
因此 .* 就匹配到了最后一个a前面的所有字符.

\( \) 这种结构在sed的替换命令里是组的概念,在后面替换时可以用\n来引用.
第一个组用\1,第二个组用\2,依此类推.
这个命令的作用就是:将字符串中最后一个a字符替换为b,其余不变.