Учитывая файл, как это:Scala, как Свести из командной строки
foo,1,2,3
bar,2,3,4
too,6,2,3
Можно ли производить это из командной строки:
foo,1,0
foo,2,1
foo,3,2
bar,2,0
bar,3,1
bar,4,2
too,6,0
too,2,1
too,3,2
Учитывая файл, как это:Scala, как Свести из командной строки
foo,1,2,3
bar,2,3,4
too,6,2,3
Можно ли производить это из командной строки:
foo,1,0
foo,2,1
foo,3,2
bar,2,0
bar,3,1
bar,4,2
too,6,0
too,2,1
too,3,2
Когда спрашивают, как преобразовать данные в одной форме данные в другой форме, как правило, лучше быть очень ясными о том, из чего состоит именно преобразование. В этом случае это кажется очевидным, но кто знает?
Это -
awk -F, 'BEGIN{OFS=","}{print $1,$2,0;print $1,$3,1;print $1,$4,2;}' ORIGINAL_FILE.dat
- даст преобразование вам показать. Предполагается, что ваши входные данные всегда находятся в точности 4 строки. Вы не говорите, так кто знает? Он принимает конкретное преобразование, но другие могут быть возможны, т. Е. Предполагается, что третий столбец на выходе представляет собой нулевой индекс столбца предыдущего элемента во входных данных, не считая первый столбец.
awk
на помощь!
$ awk 'BEGIN{FS=OFS=","}
{for(i=2;i<=NF;i++) print $1,$i,c[$1]++}' file
foo,1,0
foo,2,1
foo,3,2
bar,2,0
bar,3,1
bar,4,2
too,6,0
too,2,1
too,3,2
Вы должны показать некоторые исследовательские усилия: что вы пробовали, что не сработало, какова конкретная проблема. См. Http://stackoverflow.com/help/how-to-ask – laughedelic