linux shell sed表达式分析remoteuri=$(echo ${OCF_RESKEY_hypervisor} | sed -e "s,\(.*\)://[^/:]*\(:\?[0-9]*\)/\(.*\),\1${transport_suffix}://${target_node}\2/\3,")我了解脚本基本语法,例如$() | 这些我都能看懂,但是sed东西不懂,
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 20:10:45
![linux shell sed表达式分析remoteuri=$(echo ${OCF_RESKEY_hypervisor} | sed -e](/uploads/image/z/10063930-58-0.jpg?t=linux+shell+sed%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%88%86%E6%9E%90remoteuri%3D%24%28echo+%24%7BOCF_RESKEY_hypervisor%7D+%7C+sed+-e+%22s%2C%5C%28.%2A%5C%29%3A%2F%2F%5B%5E%2F%3A%5D%2A%5C%28%3A%5C%3F%5B0-9%5D%2A%5C%29%2F%5C%28.%2A%5C%29%2C%5C1%24%7Btransport_suffix%7D%3A%2F%2F%24%7Btarget_node%7D%5C2%2F%5C3%2C%22%29%E6%88%91%E4%BA%86%E8%A7%A3%E8%84%9A%E6%9C%AC%E5%9F%BA%E6%9C%AC%E8%AF%AD%E6%B3%95%2C%E4%BE%8B%E5%A6%82%24%28%29+%7C+%E8%BF%99%E4%BA%9B%E6%88%91%E9%83%BD%E8%83%BD%E7%9C%8B%E6%87%82%2C%E4%BD%86%E6%98%AFsed%E4%B8%9C%E8%A5%BF%E4%B8%8D%E6%87%82%2C)
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}变量
不知道我解释的清楚不.