我必须使用 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/