linux - 如何用文件中的绝对路径替换变量值?

标签 linux bash unix sed

我想搜索变量并用它在文件中的绝对路径替换。

setenv ABC /home/xyz
cat file.txt
${ABC}/Test/Folder_1
${ABC}/Test/Folder_2

我想用/home/xyz 替换所有出现的 ${ABC}。 我尝试了下面提到的方法,但不起作用,

sed -i 's/\$ABC/echo $ABC/g' file.txt

我可以通过下面提到的方式来做,但我不想这样做。(我必须放很多反斜杠)

$ echo $ABC | sed -i 's/\$ABC/\/home\/xyz/g' file.txt

请给我一些关于这个问题的建议。

谢谢。

最佳答案

如果你真的想在替换字符串中使用变量的值,你可以使用

sed "s#\${ABC}#$ABC#g" file.txt

关于linux - 如何用文件中的绝对路径替换变量值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19294767/

相关文章:

java - 在 java 中使用 linux grep 命令时出错

bash - grep ls 跨选项卡输出

linux - 从 pgrep grunt 中杀死 PID 的 bash 脚本

git - 来自 docker 的 git 的主机 key 验证失败

c - 为什么程序不读取第二个参数文件?

java - 使用 Java 在 Linux 上以 super 用户身份创建 txt 文件

linux - 无法从ubuntu发送邮件

linux - 使用单行命令删除目录

linux - 如何检查 Bash 中的两条路径是否相等?

linux - Bash:带有变量的统计数据