Иногда я получаю CSV-файл, который имеет возврат каретки внутри ячейки. Это не приемлемый формат для программы, которая будет использовать ее в качестве входных данных.Подсчет запятых в строке в bash
Чтобы определить, была ли разделена линия ввода, я решил, что у плохой строки не будет ожидаемого количества запятых. Есть ли bash или другой общий инструмент командной строки unix, который позволит мне считать запятые в строке? Если необходимо, я могу написать программу Python или Perl, но если это возможно, я хотел бы добавить строку или два в существующий сценарий bash, чтобы он сработал, если счет запятой ошибочен. Есть идеи?
Почему вы не можете просто найти возврат каретки и удалить их? –
Я предполагаю, что искатель означает разрывы строк в целом, и «просто их удаление» не будет работать, так как допустимые строки также заканчиваются символом перевода строки. – lanzz
'a, b," c, d, e "' имеет 3 поля, но 4 запятых – Stefan