我们有一个超过 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时,必须打印行号。
是否可以为此任务创建一个 awk 或 perl 单行程序,而不使用 echo 或 cat?
答案1
尝试一下awk -F, '{if (NF != 8) print NR}' file_name
。-F, 是字段分隔符。有 7 个逗号,有 8 个字段 (NF 数字字段),NR 是 (数字记录) 当前记录编号。