2009/5/4 Flavio Junior <bil...@gmail.com>: > [r...@dartagnan ~]# cat txt > 02 06 04 08 01 > 03 06 02 05 09 > [r...@dartagnan ~]# while IFS=$'\n' read -r LINHA; do (tr ' ' '\n' > <<<"$LINHA" | sort -n) | tr '\n' ' '; echo ; done <txt > 01 02 04 06 08 > 02 03 05 06 09 > [r...@dartagnan ~]# > > > -- > > Flávio do Carmo Júnior aka waKKu > > 2009/5/4 Fabiano Oliveira e Souza <souz...@yahoo.com.br>: >> >> >> É a 3 opção, ordenar os números dentra de cada linha, sendo que mantendo no >> linha que estão. >> >> Ex.: >> >> o arq.txt tem o sgeuinte conteudo >> 02 06 04 08 01 >> 03 06 02 05 09 >> >> então eu quero ondenar para qque cada linha fique com os numeros em ordem: >> >> 01 02 04 06 08 >> 02 03 05 06 09 >> >> Atenciosamente, >> Fabiano de O. e Souza >> Yahoo!: souzafo >> MSN: fabiano_oliveira_so...@hotmail.com >> ICQ: 44012727 >> >> ________________________________ >> De: Andrea VB <andreavb1...@gmail.com> >> Para: shell-script@yahoogrupos.com.br >> Enviadas: Segunda-feira, 4 de Maio de 2009 11:52:54 >> Assunto: Re: [shell-script] Re: Ordenação de números >> >> 2009/5/4 Fabiano Oliveira e Souza <souz...@yahoo. com.br>: >>> Desta forma ele só ordena a 1ª coluna de cada linha. >> >> Mas você respondeu que era isso que queria... >> >> Andrea VB, às 10h46: >>>>> Ou quer ordenar as linhas (por exemplo, a que começa com "25 07" >>>>> ficaria antes da que começa com "25 10", mas depois da "22 11", e por >>>>> aí vai?) ? >> >> Fabiano, às 10h53: >>>> Seria a segunda opção, em ordenar os numeros de cada linha e depois >>>> escrever em um arquivo, consegui até separar com o >>>> sed, porém não estou conseguindo encontrar a lógica para escrever essa >>>> ordenação em um outro arquivo. >> >> Então não era a segunda opção (a que eu exemplifiquei e disse que a >> linha "25 07" ficaria antes da "25 10" e assim por diante), certo? >> >> O que exatamente você tá procurando? >> 1) Ordenar todos os números do arquivo (primeira opção de meu e-mail) >> 2) Ordenar as linhas como elas estão (a segunda opção) >> 3) Ordenar os números dentro de cada linha, mas mantendo as linhas na >> posição em que estão (respostas do Cléoson e do Bruno) >> 4) Alguma coisa diferente que nós ainda não entendemos :) >> >> Att, >> >> -- >> Andrea VB >> Please, don't CC me when replying to me on the lists, and use BCC when >> sending mass e-mails.
Não entendi direito a estratégia de alterar o IFS. Dá pra simplificar seu one-liner assim: while read; do tr ' ' '\n' <<< "$REPLY" | sort -n | paste -sd" "; done < txt -- Fabiano Caixeta Duarte Especialista em Redes de Computadores Linux User #195299 Ribeirão Preto - SP