2014-12-05 6 views
0

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

До: Одна строки данных

work_needs_to_get_done_001 time 25000000 runs 28908331 other_data1 89708097 
work_needs_to_get_done_002 time 25000000 runs 27285458 other_data1 89708097 
work_needs_to_get_done_003 time 25000000 runs 27284897 other_data1 89708097 
work_needs_to_get_done_004 time 25000000 runs 27280741 other_data1 89708097 

После: отдельных столбцов, ограниченных пространства

Workname     Time  Runs  Other_data1 Other_data2 
work_needs_to_get_done_001 25000000 28908331 89708097  89708097 
work_needs_to_get_done_002 25000000 27285458 89708097  89708097 
work_needs_to_get_done_003 25000000 27284897 89708097  89708097 
work_needs_to_get_done_004 25000000 27280741 89708097  89708097 
+2

Вы пытаетесь написать какой-нибудь скрипт? – anubhava

+0

Я написал сценарий, который дает мне первый набор данных - файл csv. теперь мой мозг болит. я начну с этого. подумал начать с некоторых идей. – fali

+0

Вы хотите, чтобы строка заголовка была выровнена с остальными строками, как показано выше? – anubhava

ответ

1

При необходимости обработать столбцы приходит, думать об использовании :

awk '{print $1, $3, $5, $6}' file 
0
echo "Workname Time Runs Other_data1 Other_data2" > 1.txt 
awk '{ print $1, $3,$5,$7 }' filename >> 1.txt 

Для форматирования:

awk '{ printf "%-40s %-20s\n %-20 %-20 %-20", $1, $2,$3,$4}' 1.txt 
Смежные вопросы