如何在sed命令中转义正斜杠

时间:2010-10-12 16:33:54

标签: sed

我正在用这个命令编写一个shell脚本:

sed -e 's/OLD_ITEM/NEW_ITEM/g' 

但我实际上想要做一些包含目录的事情:

sed -e 's/FOLDER/OLD_ITEM/NEW_ITEM/g'

如何忽略正斜杠以便正确读取整行FOLDER / OLD_ITEM?

3 个答案:

答案 0 :(得分:20)

您不必在/ regexp中使用sed作为分隔符。您可以使用您喜欢的任何字符,只要它不出现在正则表达式中:

sed -e 's@FOLDER/OLD_ITEM@NEW_ITEM@g'

sed -e 's|FOLDER/OLD_ITEM|NEW_ITEM|g'

答案 1 :(得分:5)

您需要将/转义为\/

字符前面的转义(\)告诉shell按字面解释该字符。

因此请使用FOLDER\/OLD_ITEM

答案 2 :(得分:0)

逃避它!

sed -e 's/FOLDER\/OLD_ITEM/NEW_ITEM/g'