linux sed命令中正则表达式解析
sed‘s/\(.*\)old\(.*old\)/\1new\2/’请问这条表达式中的\(.*\)old\(.*old\)/\1new\2怎么理解...
sed ‘s/\(.*\)old\(.*old\)/\1new\2/’
请问这条表达式中的\(.*\)old\(.*old\)/\1new\2怎么理解 展开
请问这条表达式中的\(.*\)old\(.*old\)/\1new\2怎么理解 展开
3个回答
展开全部
例如字符串是12345old67890old
那么上面语句分解如下:
s/ 是启用替换
替换内容如下:
\(.*\) 对应12345 并标记为\1
old 对应old
\(.*old\) 对应67890old 并标记为\2
替换内容如上:
那么替换后的格式如下:
/\1new\2 对应 12345new67890old
那么上面语句分解如下:
s/ 是启用替换
替换内容如下:
\(.*\) 对应12345 并标记为\1
old 对应old
\(.*old\) 对应67890old 并标记为\2
替换内容如上:
那么替换后的格式如下:
/\1new\2 对应 12345new67890old
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
\( 和\)是转义字符,表达(). \1 \2表示提取序号。\1提取(.*) \2提取(.*old) (.*)old(.*old)/\1new\2/的作用就是把old替换成new,只不过要满足??old??old条件的。比如 echo "aaaoldaaaold" | sed ‘s/\(.*\)old\(.*old\)/\1new\2/’ 会输出aaanewaaaold
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
后面的数字1等于前面的\(.*\)
后面的数字2等于前面的\(.*old\)
后面的数字2等于前面的\(.*old\)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询