作业帮 > 综合 > 作业

linux shell sed表达式分析

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/30 03:08:56
linux shell sed表达式分析
remoteuri=$(echo ${OCF_RESKEY_hypervisor} | sed -e "s,\(.*\)://[^/:]*\(:\?[0-9]*\)/\(.*\),\1${transport_suffix}://${target_node}\2/\3,")
我了解脚本基本语法,例如$() | 这些我都能看懂,但是sed东西不懂,能不能详细说说都是什么意思 .如sed 的-e选项.s 什么意思.sed中逗号什么意思等.分析一下呗,谢谢喽
授之以渔的大哥,小弟分数追加.
-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}变量
不知道我解释的清楚不.