単語パターンから文字を削除

単語パターンから文字を削除

p.G345L私の文の言葉には、とのようなパターンがありますp.X31Z。削除する必要p.があるのでG345LX31Z

答え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

関連情報