gpt4 book ai didi

regex - 生成文件上的 Sed

转载 作者:行者123 更新时间:2023-12-04 18:31:42 25 4
gpt4 key购买 nike

我想在 shellscript 中使用 sed 替换我的默认 make 目标。首先,我试图让 sed 从命令行工作。

我的makefile包含:

all:
gcc -Wall -o main main.c

我希望它包含:
all:
gcc -Wall -o TEST main.c

我使用的 sed 命令:
sed -i 's/(-o[ ][^ ]+)/-o TEST/g' Makefile

它似乎适用于 https://regexr.com/但是当我在 ubuntu 中运行命令时,它不会编辑我的 Makefile。可能是什么原因?

还是 main 是默认的 make 目标,还是 main.c 是默认的 make 目标?一些术语我还不太明白。

最佳答案

正确的解决方案是参数化 Makefile。

MAIN := main
all:
gcc -Wall -o $(MAIN) main.c

现在你可以说 make MAIN=TEST (或 make MAIN=fnord 或你有什么)而不修改任何东西。

修改代码几乎总是错误的解决方案(而生成代码可能是一种强大且通用的技术)。

关于regex - 生成文件上的 Sed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48732379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com