【问题标题】:Need help in sed command to add variable in a text file after reading from a grep command从 grep 命令读取后,在 sed 命令中需要帮助以在文本文件中添加变量
【发布时间】:2019-11-25 00:09:53
【问题描述】:

我正在编写一个脚本以使用grep 命令从不同的日志文件中读取变量,在读取结果后,我想将该变量添加到一个带有前缀文本的 txt 文件中。

这就是我正在做的事情

echo "whats your environmentprefix"

根据用户输入,我正在这样做

read $environmentprefix

现在这个$environmentprefix 值需要在config.txt 文件中替换

文本显示为input.queue=_mq.test

我想在这个前面加上这个变量,让它看起来像

input.queue=$environmentprefix_mq.test

我已尝试所有 sed 命令,但无法获得所需的输出

【问题讨论】:

  • 这能回答你的问题吗? How to use variable in sed command in shell
  • sed -i "s/input.queue=_mq.test/input.queue=${environmentprefix}_mq.test/" filename?
  • 谢谢,但这并没有醒来,结果是 input.queue=_mq.test 只有变量没有被附加。我做得对吗,我要求用户输入,然后读取 $environmentprefix 并将该 $environmentprefix 用于上述 sed 命令
  • 发布的示例代码应该可以工作。确保从声明中复制/粘贴变量名,即。 var=something; sed -i "s/input=xxx/input=${var}_mq.test/" file 您似乎了解单引号 sed 脚本与 dbl 引用版本之间的区别。祝你好运。

标签: bash shell sed


【解决方案1】:

请尝试以下代码。它应该工作:

read -i "Whats your environment prefix : " environmentprefix
sed -i "s/input.queue *= *.*/input.queue=${environmentprefix}_mq.test/g" file

问候!

【讨论】:

  • 这解决了问题并按预期工作,感谢您的帮助,非常感谢
猜你喜欢
  • 2018-04-04
  • 1970-01-01
  • 2011-05-23
  • 1970-01-01
  • 2022-01-12
  • 2011-06-21
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
相关资源
最近更新 更多