使用sed用正斜杠替换所有反斜杠(双打也是)

时间:2014-09-02 15:09:51

标签: regex bash sed

我希望能够使用sed来获取输入,例如:

\\servername\folder\folder\folder

//servername/folder/folder/folder

在这里看到这个问题,但回答“echo'C:\ foo \ bar.xml'| sed's / \ / /// g'”提供此字符串:“/ servername / folder / folder / folder”(一个正斜线丢失了。)

2 个答案:

答案 0 :(得分:3)

因为你只想音译单个字符,所以sed似乎有点矫枉过正。您可以使用专为此特定任务设计的tr:

echo '\\servername\folder\folder\folder' | tr '\\' '/'

正如@Kent注意到的那样,sed具有音译命令y:

echo '\\servername\folder\folder\folder' | sed 'y#\\#/#'

答案 1 :(得分:1)

您可以使用:

s='\\servername\folder\folder\folder'
sed 's~\\~/~g' <<< "$s"
//servername/folder/folder/folder