linux shell sed 正则表达式分析

echo "hdkf/fhbasdkh" | sed -e 's=/.*=='
结果为什么是hdkf

请详细解释表达式的含义

-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}变量 不知道我解释的清楚不。
温馨提示:答案为网友推荐,仅供参考
相似回答