linux shell sed表达式分析

remoteuri=$(echo${OCF_RESKEY_hypervisor}|sed-e"s,\(.*\)://[^/:]*\(:\?[0-9]*\)/\(.*\),... remoteuri=$(echo ${OCF_RESKEY_hypervisor} | sed -e "s,\(.*\)://[^/:]*\(:\?[0-9]*\)/\(.*\),\1${transport_suffix}://${target_node}\2/\3,")

我了解脚本基本语法,例如$() | 这些我都能看懂,但是sed东西不懂,能不能详细说说都是什么意思 。如sed 的-e选项。s 什么意思。sed中逗号什么意思等。分析一下呗,谢谢喽
授之以渔的大哥,小弟分数追加。
展开
 我来答
小米飞猫
2012-04-09 · 专注于IT监控领域技术
小米飞猫
采纳数:1653 获赞数:4811

向TA提问 私信TA
展开全部
-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}变量

不知道我解释的清楚不。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式