Хотя вы могли бы использовать простую подстановку строки IN
(учитывая, что она присутствует только 1 раз в вашем файле ввода_), но, поскольку вы специально запросили стиль захвата в sed
, вы можете попробовать выполнить следующее.
sed 's/\(.*_In\)\(.*\)/\1_Moto\2/g' Input_file
Также выше добавит строку _Moto
, чтобы избежать добавления 2 раза _
после Moto
путаницы, спасибо @Bodo за упоминание того же в комментариях.
Проблема с попыткой OP: поскольку вы НЕ сохраняете _In_*
в памяти sed
, поэтому он принимает \(_data_\)
только в качестве первого элемента в памяти, поэтому он не работает, я исправил это в выше, нам нужно хранить все до _IN
в памяти, и тогда он будет летать.