
p.G345L
私の文の言葉には、とのようなパターンがありますp.X31Z
。削除する必要p.
があるのでG345L
とX31Z
。
答え1
定義するために何を使用しているかはわかりませんが、sedを介して簡単にパイプできます。 GNU実装の場合、sed
'\b'はパターンマッチングの単語境界を表し、それを使用して "stop"などの文の一部を選択しないようにすることができます。
$ 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
答え2
パターンp.
の後に大文字、一連の 1 つ以上の 10 進数、大文字が続く場合、これは (POSIXly) 次のようになります.
sed 's/p\.\([[:upper:]][[:digit:]]\{1,\}[[:upper:]]\)/\1/g'
答え3
さまざまな方法でこれを実行できます。
そして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