Выбирать столбцы из файла csv переменной длины

У меня есть два файла CSV, в которых есть столбец, который уникален для каждой строки в каждом файле, например, ID. У файлов нет заголовка. Файл_2 имеет столбцы переменной длины, например

1,2,3 4,5,6,7,8 

Сначала я присоединился к двум файлам, основанным на общем столбце, путем сортировки с помощью команды sort и использования соединения в этом столбце. Теперь у меня есть один файл csv с столбцами переменной длины.

Я хочу выбрать столбцы в следующем порядке:

 second column, first column, third column, {from 4th column onwards every 3rd column till end of row. eg, 4,7,10...} 

Я попробовал awk -F "\"*,\"*",\"*" '{print $2 $1 $3}' joinedfile.csv

и смог получить эти три столбца. Тем не менее, нет идеи справиться с остальными. Я знаю, как это сделать в python. Я хотел бы знать, как это сделать в командной строке, например cut или awk. Я предполагаю, что цикл while в awk может помочь, но не уверен, как его построить.

One Solution collect form web for “Выбирать столбцы из файла csv переменной длины”

Что-то вроде:

 awk -F, '{ # print first three columns printf("%s,%s,%s", $2,$1,$3); #for all other columns for ( i = 4; i < NF; i++ ) { # if column number every third if ( ( i - 4 ) % 3 == 0) { printf(",%s", $i); } } #print newline print ""; }' your_file.csv 
  • Функция вывода Bash Output / dev / null
  • Извлечение справочного сообщения из самого скрипта
  • Как использовать If-Else для выполнения определенных действий, если дни недели - это дни?
  • Как получить время, когда система загрузилась в формате epoch?
  • Удалите символ ^ L (aka \ f / FF / form-feed / page-break)
  • таблица разбиения на основе соответствия ячейки столбцу
  • Перенаправить скрипт stderr и stdout в файл, но сохранить stdout в tty?
  • как мне обрезать ведущие и конечные пробелы из каждой строки некоторого вывода?
  • Прочитайте файлы в подкаталогах и перейдите в одно место с меткой времени
  • Прокрутите все файлы в заданном подкаталоге, назовите вывод зацикленным файлом
  • rm -rf: невозможно удалить `/ opt / jetty ': каталог не пуст
  • Linux и Unix - лучшая ОС в мире.