Рассмотрим входной файл, который имеет следующее содержимое:
RANDOM CONTENTS1
FN:4,_Z1fv
FN:5,_Z1gv
RANDOM CONTENTS2
Необходимо найти искаженные символы во входном текстовом файле и заменить их их выделенными именами и распечатать как выходные данные, как показано ниже:
RANDOM CONTENTS1
FN:4,f()
FN:5,g()
RANDOM CONTENTS2
С учетом того, что нет другой строки, которая будет иметь запятую с последующим подчеркиванием.Итак, я могу использовать «, (_. *)» Для захвата искаженного символа в файле input.txt.
Когда я использую приведенную ниже команду в оболочке tcsh, она не работает.Вывод все тот же, что и input.txt.Я не могу понять, почему.
sed "s#,\(_.*\)#,`echo \\1 | /usr/bin/c++filt`#" input.txt
Что не так с командой?