Вот слишком буквальная, не масштабируемая, ультракороткая awk
версия:
awk '{printf "%s\n%s\n%s\n\n%s\n%s\n%s\n",$1,$3,$5,$2,$4,$6}'
Немного длиннее (еще два символа), используя вложенные циклы (печатает дополнительный символ новой строки в конце):
awk '{for(i=1;i<=2;i++){for(j=i;j<=NF;j+=2)print $j;print ""}}'
Не печатать лишний перевод строки:
awk '{for(i=1;i<=2;i++){for(j=i;j<=NF;j+=2)print $j;if(i==1)print ""}}'
Для сравнения, версия paxdiablo со всеми ненужными символами удалена (еще 1, 9 или 11 символов):
awk '{for(i=1;i<=NF;i+=2)print $i;print "";for(i=2;i<=NF;i+=2)print $i}'
Вот версия для всех Bash:
d=(abc edf xyz rfg yeg udh)
i="0 2 4 1 3 5"
for w in $i
do
echo ${d[$w]}
[[ $w == 4 ]]&&echo
done