Вы можете сделать это разными способами.
С perl
:
$ echo "p.G345L and p.X31Z" | perl -pe 's/p\.//g'
G345L and X31Z
С sed
:
$ echo "p.G345L and p.X31Z" | sed 's/p\.//g'
G345L and X31Z
Не знаю, что у вас есть, но вы можете легко передать это через sed. В реализации GNU sed
в сопоставлении с образцом '\ b' будет обозначать границу слова, которую вы можете использовать, чтобы убедиться, что вы не берете часть предложения, например «стоп. "
$ cat file
p.G345L sentence stop. p.X31Z part of another sentence
$ sed 's/\bp\.//g' file
G345L sentence stop. X31Z part of another sentence
Если шаблон стр.
, за которым следует заглавная буква, за которой следует последовательность из одной или нескольких десятичных цифр, за которыми следует одна заглавная буква, тогда это будет (POSIXly):
sed 's/p\.\([[:upper:]][[:digit:]]\{1,\}[[:upper:]]\)/\1/g'