Usando tr , substitua cada caractere de espaço repetido ( ) por um único caractere de nova linha ( \n ).
tr -s ' ' '\n'< infile > outfile
Mas eu acho que você quer algo assim?
1 2 3 4 1 a #
a b c d --> 2 b $
# $ @ % 3 c @
4 d %
Com awk , poderíamos fazer:
awk '{ for (i=1; i<=NF; i++) RtoC[i]= (RtoC[i]? RtoC[i] FS $i: $i) }
END{ for (i in RtoC) print RtoC[i] }' infile
Isso une cada mesma posição de número arquivado em conjunto e em END imprime o resultado que seria a primeira linha na primeira coluna, segunda linha na segunda coluna, etc. É claro que o arquivo de entrada é limitado ao tamanho da sua memória. / p>