Вы можете легко сделать это в bash, вызвав awk. Этот вид сценария - именно то, для чего был разработан awk.
awk -F, '{ if (NF < 15 ) print NR "," $0 }' fileToTest
-F,
указывает awk разбивать каждую строку на запятой, а AND NF
(Number_of_Fields) указывает, сколько полей было разбито в каждой строке. Измените значение 15 по мере необходимости, чтобы помочь вам проверить ваши файлы.
Не забывайте, что файлы CSV могут иметь запятые, встроенные в поля, если поле окружено кавычками, т.е.
fld1, "text for, fld2", fld3, fld4,....
Решить эту проблему значительно сложнее. Используйте символ табуляции для разделения полей (или какого-либо другого персонажа, который, как вы можете быть уверены, никогда не появится в ваших данных), а затем выспитесь ночью; -)
Надеюсь, это поможет.