Предположим, что у меня есть следующая строка:
group blue:green yellow green redtomblue black !greyTOMwhilte !purple redblue
Мне нужно удалить из него все слова, которые содержат строку "tom" или "TOM", используя sed.
Мне удалось получить это далеко:
sed 's/^ *\(.*\)[!]*[A-Za-z0-9_]*[tT]\{1\}[oO]\{1\}[mM]\{1\}[A-Za-z0-9_]*\(.*\)/\1 \2/g'
Но это только удаляет последнее вхождение, а не все. Используя мой пример выше, результат:
group blue:green yellow green redtomblue black !grey !purple redblue
Как я могу использовать sed
чтобы удалить любое слово, содержащее одну из определенных подстрок "tom" или "TOM"?