Acabei de encontrar a resposta aqui: link
Para delimitar um termo de pesquisa por um intervalo de caracteres, como pontuações e espaços, e fazer com que esses caracteres sejam reproduzidos em vez de serem substituídos, a seguinte sintaxe:
sed -r 's/([group1])term([group2])/output/g'
onde ([groupx]) pode ser ([.;] (]) ou ([[: punct:]]]).
echo dep\!|sed -r 's/dep([ ,.;)!])/dependency/'
vai dar: dep! - > dependência!
echo ' dep,'|sed -r 's/([[:punct:] ])dep([[:punct:] ])/dependency/'
fornecerá 'dep' - > 'dependência',