我正在用这个命令编写一个shell脚本:
sed -e 's/OLD_ITEM/NEW_ITEM/g'
但我实际上想要做一些包含目录的事情:
sed -e 's/FOLDER/OLD_ITEM/NEW_ITEM/g'
如何忽略正斜杠以便正确读取整行FOLDER / OLD_ITEM?
答案 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'