shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Re: Ordenação de números


From: Fabiano Caixeta Duarte
Subject: Re: [shell-script] Re: Ordenação de números
Date: Mon, 4 May 2009 18:08:09 -0300

2009/5/4 Flavio Junior <address@hidden>:
> [root@dartagnan ~]# cat txt
> 02 06 04 08 01
> 03 06 02 05 09
> [root@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
> [root@dartagnan ~]#
>
>
> --
>
> Flávio do Carmo Júnior aka waKKu
>
> 2009/5/4 Fabiano Oliveira e Souza <address@hidden>:
>>
>>
>> É 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: address@hidden
>> ICQ: 44012727
>>
>> ________________________________
>> De: Andrea VB <address@hidden>
>> Para: address@hidden
>> 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 <souzafo@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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]