sed 用反斜杠替换正斜杠

标签 sed makefile mingw32

我必须使用 mingw32 在 makefile 中将具有正斜杠的文件名转换为具有反斜杠的文件名。我使用以下 sed 命令将结果存储在变量中:

ORIGINAL=./a/b/main1.c ./a/b/main2.c ./a/b/main3.c

sed 命令:

RESULT=$(shell echo $(ORIGINAL) | sed 's/\//\\/g')

结果输出是:

.\a\b\main1.c .abmain2.c .abmain3.c

如果我直接在 bash 上运行它,它工作正常。谁能告诉我怎么了?

谢谢!

最佳答案

我正在尝试在 makefile 中复制您的测试,但我没有您的环境。 但如果我正在搜索相同的字符,我不会使用“/”作为命令分隔符。使用其他字符,例如“:”

sed 's:/:\\:g'

关于sed 用反斜杠替换正斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16843371/

相关文章:

linux - 使用 sed/awk 命令找到模式后修改文本文件的内容

regex - sed 命令适用于命令行,但不适用于 bash 脚本

bash - sed-ish oneliner 在替换中执行算术

具有两个或多个依赖项的 Makefile 模式规则 %.sas7bdat : %. sas %.dat

c - 生成文件: "undefined reference to cos"

c++ - 在 Linux [C++] 上为 Windows 编译多线程应用程序

unix - 仅当找到匹配字符串时才替换行的最后一个单词

c - ld 和静态库 "undefined reference to"的问题

c++ - 与 libstdc++-6.dll 相关的 OpenCV 应用程序崩溃

c++ - qt creator 中有很多 undefined reference