grep “^[^a-z]” foo
との間に違いがありますかgrep –v “^[a-z]” foo
?
最初のコマンドがいくつかの強調表示された文字を表示している間、同じ出力を表示します。これが唯一の違いですか?
答え1
まず、あなたの命令がワードプロセッサに貼り付けられていることを指摘する必要があります。コマンドの引用符は「スマート引用符」であり、効果はありません。
それ以外の命令はほぼ同じです。
grep "^[^a-z]" foo
[^a-z]
正規表現は「単一文字と一致します。存在しないリスト内の". したがって、このコマンドはファイル内のすべてfoo
の行と一致します。確かに小文字で始めてください。
grep -v "^[a-z]" foo
[a-z]
正規表現は「単一文字と一致します。展示するin the list」ですが、オプションは「invert-match」です(選択した行は指定されたパターンと一致しない行です)。したがって、ファイル内の一致するすべての行を見つけます-v
。foo
確かに小文字で始めてください。 違いこのコマンドは空行とも一致します。