我需要将“/hotel”替换为“/Tay”
我使用了各种分隔符,例如? $ 但我无法得到它
答案1
人们通常使用正斜杠/
作为 sed 分隔符,但您可以使用任何您想要的字符;例如,!
。理想情况下,使用不会出现在搜索或替换文本中的分隔符,否则您需要引用它。
$ echo '"/hotel' | sed s!^"/hotel!"/Tay!
"/Tay
我引用:
“酒店
用单引号来防止 shell 对单独的双引号感到困惑。这是一个不带引号的版本(因此必须从 shell 中转义双引号):
$ echo \"/hotel | sed s!^"/hotel!"/Tay!
编辑以包含^
“行开头”字符以强制在行开头进行匹配。不匹配的示例:
$ echo foo\"/hotel | sed s!^"/hotel!"/Tay!
foo"/hotel
答案2
做到这一点的一种方法是逃避/和”带有“\”
echo '"/hotel' | sed 's/\"/hotel/Tay/g'