标签:sed
1.替换文本中的部分字符串(-r选项启用sed正则)
root@oldboy oldboy$echo "2q434343:awd_QQW.tar" | sed -r ‘s/(:)[^<]*(_)[^<]*(\.)/\1replcae\2replace\3/g‘ 2q434343:replcae_replace.tar
说明:
1) 只替换三个"()"之间的字符,其余字符(2q434343和tar)保持不变。
2) (:)、(_)、(\.)分别表示文本中的":","_",".",用于后项引用,\1代表":",\2代表"_",\3代表"."。
3) [^<]*匹配任意个非"<"的字符,此处依次匹配的为"awd"与"QQW",若将*换为+则表示一个或多个非"<"的字符。
4) replace表示替换后的字符串。
5) 执行完后就将"awd"与"QQW"替换为replace
6) 若其后不写replace则会将"awd"与"QQW"字符删除掉
root@oldboy oldboy$echo "2q434343:awd_QQW.tar" | sed -r ‘s/(:)[^<]*(_)[^<]*(\.)/\1\2\3/g‘
2q434343:_.tar
标签:sed
原文地址:http://xoyabc.blog.51cto.com/7401264/1685668