On Mon, May 25, 2009 at 09:26:22AM -0300, Pedro Bazzarella da Silva wrote: > Amigos, > > Estou com uma dúvida: > > Tenho um arquivo com o seguinte layout: > 1;2;3;4 > 5;6;7;8 > > Eu gostaria de transformar o mesmo neste novo layout: > 1;5 > 2;6 > 3;7 > 4;8 > > A idéia é trocar linha por coluna. > > Existe algum comando no unix que faça isso direto? > > Abs, > > Pedro Bazzarella > ------------------------------------
se o seu arquivo for "pequeno" para o seu hardware, você pode tentar usar esse 1liner: awk -F\; '{for(i=1;i<=NF;i++){a[i,NR]=$i;}}END{for(i=1;i<=NF;i++){for(j=1;j<=NR;j++){ORS=(j==NR)?"\n":FS;print a[i,j];};}}' arquivo ele vai armazenar cada caractere em um array de 2 dimensões onde a posições e o número da linha formam o índice; ao final do processamento do arquivo, ele imprime o conteúdo do array. -- "Não manejo bem as palavras Mas manipulo bem as strings." ------------------------------