Вы на самом деле не оставляете "CDM_" на правой стороне. Ваша замена говорит: «Замените CDM_ и любое количество слов на Unusued». Обычный способ сделать то, что вы действительно хотите сделать, это использовать круглые скобки вокруг раздела слева, который вы хотите сохранить, а затем использовать обратные ссылки, чтобы указать, куда они идут справа. В этом случае вам просто нужна одна обратная ссылка, обозначенная \1
:
sed 's/"\(CDM_\)\w*"/"\1Unusued"/g' File1.txt > File2.txt
Обратите внимание на обратную косую черту перед скобками с левой стороны; их можно опустить, если использовать sed
с -r
(я думаю) для расширенных регулярных выражений, но как есть, они необходимы, чтобы sed
знал, что они не буквальные.
Редактировать: Я обновил команду в ответ на точный комментарий Бирей, отметив, что посторонние экранируются для двойных кавычек. (Обратите внимание, что скобки по-прежнему необходимы).