2016-09-08 2 views
1

У меня есть. CSV-файл, который содержит все данные в одном столбце и внутри этих данных, и все они ограничены.Создание столбцов из строки с ограничениями csv

В настоящее время:

COLUMN A 
info|info2|info3 

Какая команда Баш я мог использовать, чтобы ворваться в колонку для каждого из них? Верхняя строка содержит заголовки.

Пример:

COLUMN A, COLUMN B, COLUMN C 
info, info2, info3 
+0

ли заголовки также трубы с разделителями? – VM17

ответ

0

Предполагая, что вы имеете право заголовки столбцов жесткого кода, используйте этот код:

echo "COLUMN A, COLUMN B, COLUMN C" > out.csv && sed -e '1d;s/|/, /g' in.csv >> out.csv 

Пример:

$ cat in.csv 
COLUMN A 
info|info2|info3 
$ echo "COLUMN A, COLUMN B, COLUMN C" > out.csv && sed -e '1d;s/|/, /g' in.csv >> out.csv 
$ cat out.csv 
COLUMN A, COLUMN B, COLUMN C 
info, info2, info3 
+0

Спасибо! Это именно то, что мне нужно! –

0

Вы могли также попробуйте в awk-

Если ваши заголовки уже в формате CSV Формат-

awk -F "|" 'NR==1 { print $0} ; NR > 1 {print $1","$2","$3}' file.txt 

Для первой линии (NR == 1), она выводит всю строку, а для остальных это делает его через запятую.

Если ваши заголовки также трубы с разделителями то easier-

awk -F "|" ' {print $1","$2","$3}' file.txt 
+0

Спасибо, это тоже сработало! –

Смежные вопросы