'grep -v "^[...]"' とはどういう意味ですか?

'grep -v

私はこの行を書いたdiff fileA.txt fileB.txt | grep -v "^[11,12d9]"。このgrepセクションがない場合、出力は次のようになります。

1d0  
< loop  
11,12d9  
< polo  
< pool  

ただし、使用すると、grep出力は次のようになります。

< loop  
< polo  
< pool  

grep -v私はそれを逆検索と少し似ていると思います。ところがこの部分が理解できないのに^[11,12d9]、何の役割をするのでしょうか?

ベストアンサー1

grep -v "^[11,12d9]"

はい、ご存知のように、-vこれは逆方向の一致に使用され、指定されたものと一致しない行を返します。模様 ^[11,12d9]

これは、^[11,12d9]文字を一致させ、文字が行の先頭(行アンカーの先頭)[...]に表示されている場合は、その行を無視することです(逆の一致が使用されるため)。^-v

1,したがって、デフォルトでは、、、または文字のいずれかで始まる行は2無視されます(文字クラスの重複文字も無視されます)d9

ただし、文字列で始まる行を無視する11,12d9必要がありますgrep -v '^11,12d9'


*質問とは関係ありませんが、文字クラス]^文字使用を文書化するには、次のようにします。-

^キャラクターの場合:どこにでも配置できますが、[]最初のキャラクターの場合はそのクラスのキャラクターに作用します。文字
の場合:最初の文字でなければなりません。文字の場合:最後の文字でなければなりません。]
-

おすすめ記事