列に存在しない値の数を見つける方法

列に存在しない値の数を見つける方法

1列に存在しない値がいくつあるか、つまり「.」が1つしかないかどうかを調べる方法を見つけようとしました。

例えば

車.txt

Car           Colour      mpg          Year
vw_golf         blue       56          2006
vw_polo          red       66          2010
honda_civic    white       .           2007
ford_ka          red       .           2014

だから私が興味を持っているのはHonda CivicとFord kaです。 mpg列に数字がないので、mpg列にmpg列に数字がない値がいくつあるか知りたいです。値(この場合は2)です。

私が経験している問題は、awkコマンドを使用するとエラーが発生しているようです。

ベストアンサー1

短いgrep方法:

grep -Ec '^\S+\s+\S+\s+\.\s+' file
2

  • -E- 拡張正規表現を許可
  • -c- 一致する行の数を印刷します。
  • \S+- 同義語である空白以外の文字と一致します。[^[:space:]]
  • \s+- 同義語である空白文字と一致します。[[:space:]]

おすすめ記事