Если Perl является опцией:
perl -F, -lane 'print join ",",@F[0,1,2,3,4,5,6,7,8,9,19,20,21,22,23,24,29,32]'
-a
автоматически разбивает строку на массив @F
полей.Индексы начинаются с 0 (не 1, как в awk)
-F,
разделитель полей равен
Если ваш CSV-файл содержит запятые в кавычках, полноценные парсеры CSV, такие как Perl Text::CSV_XS
, специально созданысправиться с такой странностью.
perl -MText::CSV_XS -lne 'BEGIN{$csv=Text::CSV_XS->new()} if($csv->parse($_)){@f=$csv->fields();print (join ",",@f[0,1,2,3,4,5,6,7,8,9,19,20,21,22,23,24,29,32])}'
В своем ответе я дал более подробное объяснение: парсинг файла csv с использованием gawk