たとえば、次の行があります。
CCP2007
CCCP
CCCCPPPPCCC
CCCCCPPPPPCCCCC
CCP2007
1行に2文字しかないので、最初の文字を表示したいです。C
そのコマンドは何ですか?
答え1
行に他の文字がないことからCC
始まる行と一致します。C
grep '^CC[^C]*$' file
CC
行の先頭にある必要はありません。
grep '^[^C]*CC[^C]*$' file
C
そして行の総文字数に関係なく:
次に始まるCC
が開始しない行と一致しますCCC
(例:CCAC
一致、CCCA
削除)。
grep '^CC[^C]' file
最大値と最小値2が繰り返される行を一致させますC
。
grep -v 'CCC'| grep 'CC'
答え2
GNU grepのPCREモードとPerlフレーバーの使用周りを見てくださいCC
前後に何もない場合と一致しますC
。
grep -P '(?<!C)CC(?!C)'
あるいは、EREパターンに似たものを偽にします。
grep -E '(^|[^C])CC([^C]|$)'
答え3
次を含む正確な行を見つけるには