数字のセットを含まない行をGrepで出力する

数字のセットを含まない行をGrepで出力する

Grep を使用して、txt ファイル内の数字 834 を含まないすべての行を印刷しようとしています。「grep [^834] file.txt」と実行しても、834 を含むすべての行が印刷されますが、強調表示されません。

答え1

試す

grep -v '[834]' file

からman grep

   -v, --invert-match
          Invert the sense of matching, to select non-matching lines.  (-v
          is specified by POSIX.)

答え2

grep に、8、3、4 以外の文字で構成されるパターンを含むすべての行を印刷するように指示します。ファイルの構成によっては、これでほぼ何でも見つかる可能性があります。「それ以外のすべて」を表示するには、grep に -v スイッチがあります。たとえば、grep -v "8\|3\|4" のようにするとうまくいくはずです。または、特に 834 という数字を除外したい場合は、grep -v 834 とします。

関連情報