短い答え

短い答え

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置き換えて使用できます。

おすすめ記事