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