问题描述
这是一个这样的路径字符串:
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 分隔符将是 /
,但这需要在路径字符串中进行大量转义。