E esse aqui?
sed 's/\S*\(tom\|TOM\)\S*//g'
resp. em versões não-GNU de sed
, isso deve funcionar:
sed 's/[a-zA-Z0-9_!]*[Tt][Oo][Mm][a-zA-Z0-9_!]*//g'
Isso substituirá todas as palavras (ou seja, strings começando com 0 ou mais caracteres que não sejam espaços em branco ( \S
) seguidos por tom
ou TOM
e novamente 0 ou mais caracteres não brancos ) com uma string vazia.
Provavelmente você também deve remover espaços duplos:
sed 's/\S*\(tom\|TOM\)\S*//g;s/\(\s\)\s*//g'