2015-10-25 2 views
1

У меня есть большой файл csv и вы хотите разбить его на более мелкие файлы на основе категории (которые являются столбцом B в файле CSV).Разбиение CSV-файла на основе столбца

Мой файл CSV выглядит следующим образом:

Product  Category 
Printer  Supplies 

Я в настоящее время с помощью awk -F, '{print > ($2".txt")}' input.csv, который работает файл. Это генерирует много текстовых файлов, основанных на каждой категории.

Теперь я хочу удалить поле категории из каждого сгенерированного файла (т. Е. Удалить все после «запятую»).

Теперь формат в каждом текстовом файле сгенерирован Product,Category. Это должно быть только Product.

Я попытался использовать с использованием cut -d',' -f1 *.txt, но это не сохраняет результат для каждого из файлов отдельно.

Также есть способ использовать обе команды в одной строке? или даже если есть способ с awk разделить на основе категории $ 2, но только печатать $ 1? это сэкономит несколько раз.

Спасибо.

, но теперь я хочу пойти в каждый из ИЗВЛЕКИТЕ категории

ответ

0

Если вы хотите, чтобы ваши файлы включают в себя первое поле каждой записи, а затем делать то, что вы делаете сейчас, но печать только первые Поле:

awk -F, '{print $1 > ($2".txt")}' 
Смежные вопросы