我在某个文件中定义了 bash 变量:
VAR1=....
VAR2="some value"
VAR3=....
....
如何更改某个变量的值并在特定行中添加一个变量?我需要在单个 shell 脚本中完成它。
编辑:
预期输出是:
VAR1=....
VAR2="another value"
VAR3=....
NEW_VAR=....
....
最佳答案
如果我正确理解你的问题,我相信以下代码将达到你想要的结果:
#!/bin/bash
#change the value of a certain variable
sed -i -e 's/^VAR2=.*$/VAR2="another-value"/gi' /folder/file
#add a new variable to the variable declaration area, using one existing variable as a reference point
sed -i -e '/^VAR2=/i \NEW_VAR="another-value"' /folder/file
exit 0
这将替换变量的值,并将一个新变量添加到列表中,使用一个现有变量作为插入新变量的引用点。这段代码可以在许多 Bash 版本中运行。
关于linux - 使用 bash 进行文本操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40571377/