Вот мой новый скрипт для транспонирования файла с разделителями табуляции.Замените \ t на свой разделитель, если хотите.
#!/usr/bin/perl -anF/\t|\n/
$n = @F - 1 if !$n;
for $i (0..$n) {
push @{ $m->[$i] }, $F[$i];
}
END {
for $r (@$m) {
print join("\t", @$r), "\n";
}
}
или 104-символьный «один вкладыш» (с добавленным apostrophe-backslash-newline-apostrophe, чтобы избежать горизонтальной прокрутки):
perl -anF'\t|\n' -e'$n=@F-1if!$n;for(0..$n){push@{$$m[$_]},$F[$_]}'\
'END{print map{join"\t",@$_,"\n"}@$m}'