sedを使用して/を含む正確な文字列を検索しようとしています。以下は私が試していますが、運がありません。
input_string="/path /path1 /path2"
search_string="/path"
input_string=echo $input_string | sed "s#\b$search_string\b##g"
ただし、これらの一連のコマンドを実行するときは、 "/path1 /path2"の代わりに "/path /path1 /path2"値を含めるためにinput_stringを使用します。
私も試してみましたがinput_string=echo $input_string | sed "s#\<$search_string\>##g"
運がありません。
私はRHEL6.5を使用しており、シェルでこのコマンドを実行しています。
ベストアンサー1
ここで問題は/
モードです$search_string
。
/
英数字ではないため、「単語」とは見なされません。これは、パターンの前に単語の境界がないため、パターンが\</path\>
一致しないことを意味します。/path
/
検索文字列を/path\>
(たとえばs##$search_string\>##g
)に変更するか、を使用するか/path[^0-9]
、これらの特定の入力データと検索文字列の場合は、単にs#$search_string ##g
置き換えて使用できます。