以下两个sed替换怎么理解?

sed-i.ori's#192.168.1#172.16.1#g;22d;23d'/etc/cobbler/dhcp.templatesed-ri"/default_pa... sed -i.ori 's#192.168.1#172.16.1#g;22d;23d' /etc/cobbler/dhcp.template
sed -ri "/default_password_crypted/s#(.*: ).*#\1\"`openssl passwd -1 -salt 'oldboy' '123456'`\"#" /etc/cobbler/settings
以上两个替换怎么理解?
展开
 我来答
hixtao
2018-04-27
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
首先 sed 使用 -i 选项后 会导致输入的文件被修改。
而第一个sed 后面 -i.ori 应该是笔误吧。
我的理解是:
第一个sed命令:
把文件 /etc/cobbler/dhcp.template 中的所有 192.168.1 替换为 172.16.1,然后删除第22行和第23行。
第二个sed命令,我拆开解释:
/default_password_crypted/
在文件 /etc/cobbler/settings 中,查找包含字符串“default_password_crypted”的行
s#(.*: ).*#\1\"`openssl passwd -1 -salt 'oldboy' '123456'`\"#"

如果找到,就将此行【最后一个冒号,以及紧跟此冒号的一个空格符】之后的内容替换为 "$1$oldboy$Npg9Pt9k98Mlg0ZeqHAuN1"
此处:$1$oldboy$Npg9Pt9k98Mlg0ZeqHAuN1 是子进程 openssl passwd -1 -salt 'oldboy' '123456' 执行后返回的字符串
注意:这里 使用 # 充当 sed 分隔符—— 's#aaa#bbb#' 等效于 's/aaa/bbb/'
括号:保存匹配的字符串以便后向引用
\1:后向引用第一个括号内的的字符串
愈密思S7
2018-04-26
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
江乡故人偶集客舍(戴叔伦)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式