微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用“sed”命令替换字符串的尾部

如何解决如何使用“sed”命令替换字符串的尾部

这是一个这样的路径字符串:

path=/home/test/test.xml

我想改成

path=******

我该怎么办? 我尝试使用“sed”来替换此字符串,但无法按预期工作。

解决方法

如果它只是来自 echo 的字符串,请使用 sed 和正则表达式替换 sed -e 's#PARAM#REPLACEMENT#'

echo 'path=/home/test/test.xml' | sed -e 's#path=.*#path=******#'

如果要在文件中替换此字符串,请添加 -i 标志和文件名:

sed -i -e 's#path=.*#path=******#' file.name

仅供参考 在此示例中,# 分隔符仅用于避免与转义 * 字符混淆。

,
$ echo 'path=/home/test/test.xml'|sed 's@/home/test/test.xml@******@'
path=******

这里的字符 @随机选择的,因为它没有出现在字符串的任何地方。

common 分隔符将是 /,但这需要在路径字符串中进行大量转义。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。