CSV行の区切り文字数と印刷行番号


0

50000行以上のCSVファイルがあります。 これは内容のほんの一例です。

Dcccrev,wefrwvfr,rfregt,wr4f,rfvrv,ecxwec,ecfrv,rfrf
Grge,gtgr,frfrv,gthtgv,gerg5tgvrt,rvrfvtg,tgt,frfrf,rfrf
Drfrfr,t,tgtg,rf,rgr,grtg,tgt,gtgtg,rg
.
.
.

私の仕事は:行の中のセパレータの数 "、"が7に等しくない場合、行番号を表示しなければなりません。

echoやcatを使わずに、このタスク用にawkまたはperl oneライナーを作成することは可能ですか?


避けてください クロスポスト
Thor

回答:


1

やってみる awk -F, '{if (NF != 8) print NR}' file_name。 -Fはフィールド区切り文字です。 7つのコンマで8つのフィールド(NF Number Fields)があり、NRは(Number Record)現在のレコード番号です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.