У нас есть файл CSV с более чем 50000 строк. Это только пример содержания:

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 one liner для этой задачи, без использования echo или cat?

1 ответ1

1

Попробуйте awk -F, '{if (NF != 8) print NR}' file_name . -F, является полевым сепаратором. С 7 запятыми есть 8 полей (NF Number Fields), а NR является (Number Record) текущим номером записи.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .