@kiberlain

Как удалить колонку (колонки) по их расположению (номеру) в csv файле?

Имеется csv файл с 12 полями, в качестве разделителей не запятые а точка с запятой. Встала задача удалить 2-3 и с 5-10-ый столбцы. Нагуглил решение cut -d, -f2-3 --complement out.csv > edited.csv; Но в нём по умолчанию разбивка идёт по запятым а не по точкам с запятыми. Что можете посоветовать? Есть в bash простая и короткая терминальная команда удаляющая нужные столбцы?
  • Вопрос задан
  • 561 просмотр
Решения вопроса 1
@kiberlain Автор вопроса
Всем спасибо, нашёл решение

cut -d ';' -f 2-3,5-10 in.csv > out.csv;
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
SignFinder
@SignFinder
Wintel\Unix Engineer\DevOps
Первая ссылка по запросу "cut custom delimiter" - https://unix.stackexchange.com/questions/556891/ca...

Если в столбцах нет запятых - могли бы просто сделать замену всех точек с запятой на запятые, прогнать файл cut и вернуть обратно.
Ответ написан
martin74ua
@martin74ua Куратор тега Linux
Linux administrator
info textutils
man sed
man awk
man perl

Можно собрать нужную команду из элементарных кирпичиков... Сразу готовое решение вам никто не подскажет, потому что структуру данных не видно. Но сделать можно все ) Я так из синтаксиса кошки в синтаксис джуна команды переводил )
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы