Simple way of converting slashes in a Makefile?

2019-08-06 04:51发布

问题:

I need to convert all paths with '\' in them to '/'. The makefile is quite long and doing this manually is impossible.

Is there some way to quickly convert them? Keep in mind that a global replace is not possible because '\' is also used to denote that a command is continued on the following line.

回答1:

It looks like you could do this with a sed command:

sed -e 's/\\\(.\)/\/\1/g'

This converts any backslash followed by some other character (which doesn't include newline) into a forward slash followed by that same character.

This command line has a bit of a "leaning toothpick" problem, sorry about that.



回答2:

I think that Gregs solution was nearly correct, but I would do

sed -e 's/\\\(.\)/\/\1/g'

to make sure that not only the first slash gets replaced. Sorry for not doing this as a comment, but I don't have the privilege yet.