当前位置: 首页 > 面试题库 >

用变量替换文本

孔皓
2023-03-14
问题内容

我怎样才能做到这一点?

sed -i 's/wiki_host/$host_name/g' /root/bin/sync

它将替换wiki_host为文本$host_name。但是我想用变量的内容替换它。

我尝试过

sed -i 's/wiki_host/${host_name}/g' /root/bin/sync

它也不起作用。


问题答案:

您需要使用双引号:

$ sed -i "s/wiki_host/${host_name}/g" /root/bin/sync

您的单引号可防止将shell变量替换为其内容。



 类似资料:
  • 有没有办法做到这一点?

  • 变量名是其所指向值的一个占位符(placeholder)。引用变量值的过程我们称之为变量替换(variable substitution)。 $ 接下来我们仔细区分一下变量名与变量值。如果变量名是 variable1, 那么 $variable1 就是对变量值的引用。[^1] bash$ variable1=23 bash$ echo variable1 variable1 bash$ echo

  • 问题内容: 我想加载模板Word文档以向其添加内容并另存为新文档。我正在处理.doc文件。 经过长时间的研究,我仅找到docx的解决方案: http://www.smartjava.org/content/create-complex-word-docx-documents- programatically-docx4j http://www.sambhashanam.com/mail-merge

  • 我想加载一个模板word文档以添加内容并另存为新文档。我在处理.文件。 经过长时间的研究,我只找到了docx的解决方案: 所以我想用它的值替换以这种格式编写的任何变量:。我可以用velocity或Apache-poi来做它,什么是它的最佳解决方案。任何帮助都将不胜感激。

  • 问题内容: 尝试用sed替换字符串时发生奇怪的事情。这有效: 因此,当我手动键入字符串时,它可以工作。但在以下情况下,不会发生替换: 当我回显这两个变量PATTERN和REPLACEMENT时,它们具有正确的值。 我试图用配置目录中所有文件中的替换字符串替换所有出现的模式字符串。 问题答案: 尝试 代替。’引号不会扩展变量。

  • 问题内容: 我一直在网上寻找这个答案,但似乎找不到。 我有一个配置文件,其中包含: 我想将VAR5的值从VALUE5更改为VALUE10。不幸的是,我不知道VALUE5的值,因此无法搜索。因此,基本上我需要使用sed(或其他任何值)将VAR5的值替换为我想替换为的任何值。 问题答案: 您可以尝试使用此sed: 它给: