sedを使用して特殊文字「で始まる正確な単語を置き換える方法」

sedを使用して特殊文字「で始まる正確な単語を置き換える方法」

'/hotel' を '/Tay' に置き換える必要があります。

私は? $しかし手に入らない

答え1

人々は通常スラッシュを/sed区切り文字として使用しますが、必要な文字を使用できます!。理想的には、検索に表示されない、またはテキストを置き換える区切り文字を使用します。それ以外の場合は引用する必要があります。

$ echo '"/hotel' | sed s!^"/hotel!"/Tay!
"/Tay

私は引用する:

「ホテル

一重引用符でシェルが混乱しないようにするには、一重引用符を使用します。以下は引用符のないバージョンです(したがって、二重引用符はシェルからエスケープする必要があります)。

$ echo \"/hotel | sed s!^"/hotel!"/Tay!

^行の先頭に強制的に一致するように「行の開始」文字を含めるように編集されました。矛盾の例:

$ echo foo\"/hotel | sed s!^"/hotel!"/Tay!
foo"/hotel

答え2

これを行う1つの方法はエスケープすることです。/そしてと一緒に「\」

echo '"/ホテル' | sed's/\"/hotel/Tay/g'

関連情報