Ну, у меня есть следующий файл:
Progeny Sire Dam Sex PENAS P35 P41
13254 11908 11421 M 47.275811 1322.828674 1719.183748
13323 11335 11386 M 43.29896 1225.57111 1634.436447
13562 11864 11895 M 47.884191 1228.568357 1615.427502
13338 11335 11970 M 45.780973 1196.32757 1561.900145
Мне нужно транспонировать PENAS, P35 и P41 столбцы.Эти столбцы будут новым столбцом: возраст.Визуально мне нужно, чтобы этот файл был таким:
Progeny Sire Dam Sex AGE Peso
13254 11908 11421 M PENAS 47.275811
13254 11908 11421 M P35 1322.828674
13254 11908 11421 M P41 1719.183748
13323 11335 11386 M PENAS 43.29896
13323 11335 11386 M P35 1225.57111
13323 11335 11386 M P41 1634.436447
13562 11864 11895 M PENAS 47.884191
13562 11864 11895 M P35 1228.568357
13562 11864 11895 M P41 1615.427502
13338 11335 11970 M PENAS 45.780973
13338 11335 11970 M P35 1196.32757
13338 11335 11970 M P41 1561.900145
Я пробовал эту команду, но она не работала:
awk 'NR==1{h=$1 OFS $2 OFS $3 OFS $4 OFS $5 OFS $6 OFS $7; next}
{a[$2]=(($1 in a)?(a[$1] OFS $NF):(OFS $5 OFS $6 OFS $7 OFS "AGE"));
if(!($7 in b)) {h=h OFS $7; b[$7]}}
END{print h; for(k in a) print k,a[k]}' a.txt | column -t > b
И я застрял на этом этапе, любые предложения, пожалуйста?Благодарю.Обратите внимание, что мой оригинальный набор состоит из 1400 строк.