我有一个Makefile,我希望在运行时使用bash脚本更改/替换变量的值。
SUBDIRS =通用数据库通信
我想用 -
替换SUBDIRS的这个值 protocols
如何使用shell脚本替换它?
我试过
sed 's/\(SUBDIRS =\).*/\protocols/' Makefile
但这不能正常运作。请建议。
答案 0 :(得分:0)
sed -r 's/(SUBDIRS = ).*/\1protocols/' Makefile
SUBDIRS = protocols
使用反向重新声明,在(
和)
内捕获部分字符串并调用捕获的组。稍后,可以以\1
,\2
等方式调用每个捕获的组。您最多可以捕获9个捕获组。
如果有多行文字,您可以使用awk
:
多行示例输入:
echo "$y"
SUBDIRS = common database communication
ola ola ola
bla bla bla
echo "$y" |awk -v RS="\n\n" 'BEGIN{FS=OFS="="}{$2="protocols"}1'
SUBDIRS =protocols