Этот однострочный обрабатывает новые строки в строках:
- Учитывая строки с нечетным количеством кавычек.
- Учитывая, что двойные кавычки - это способ указания кавычек в поле.
Используется потрясающий оператор триггера.
perl -ne 'BEGIN{$re=qr/^[^"]*(?:"[^"]*"[^"]*)*?"[^"]*$/;}END{print"Count: $t\n";}$t++ unless /$re/../$re/'
Рассмотрим:
wc
не собирается работать. Это здорово для подсчета строк, но не CSV строк
- Вы должны установить - или бороться за установку -
Text::CSV
или какой-то аналогичный стандартный пакет для правильной обработки.
- Тем не менее, это может привести вас туда.
<ч />
РЕДАКТИРОВАТЬ: Мне показалось, что это были окна:
perl -ne "BEGIN{$re=qr/^[^\"]*(?:\"[^\"]*\"[^\"]*)*?\"[^\"]*$/;}END{print qq/Count: $t\n/;};$t++ unless $pq and $pq = /$re/../$re/;"
Странная вещь заключается в том, что оболочка The Broken OS интерпретирует &&
как условный исполнитель ОС, и я ничего не мог сделать, чтобы изменить его мнение !! Если бы я избежал этого, он просто прошел бы это тот путь к Perl.