linux shell sed 正则表达式分析
echo"hdkf/fhbasdkh"|sed-e's=/.*=='结果为什么是hdkf请详细解释表达式的含义...
echo "hdkf/fhbasdkh" | sed -e 's=/.*=='
结果为什么是hdkf
请详细解释表达式的含义 展开
结果为什么是hdkf
请详细解释表达式的含义 展开
1个回答
展开全部
-e 允许多台编辑 s 是替换 , 因为里边用了/ 所以它来当分隔符 sed -e "s,\(.*\)://[^/:]*\(:\?[0-9]*\)/\(.*\),\1${transport_suffix}://${target_node}\2/\3," \(.*\) 这是第一个域 也就是\1 ://[^/:]* 不知道你文本是什么样的,这是一个匹配的正则,表示匹配中不包含 /: ://应该属于文本的内容 \(:\?[0-9]*\) 这是\2 第二个域里边写的匹配的正则 应该是:?一串数字 / 这个也应该是按照你们那个文本里需要的匹配写的 \(.*\) \3 第三个域 \1${transport_suffix}://${target_node}\2/\3," 在\1 (第一个域) 和\2个域中间加了两个${transport_suffix}://${target_node}变量 不知道我解释的清楚不。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询