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

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

Re: [shell-script] Re: Detectar palíndromes


From: Paulo
Subject: Re: [shell-script] Re: Detectar palíndromes
Date: Mon, 18 Mar 2019 11:21:50 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.3

Deixar o código menor não é meu forte rs não conheço tanto os atalhos,
normalmente meus one-liners têm mais de 80 colunas :) (às vezes mais de 160)
two-liners, three-liners... rs
Mas dá pra deixar menor o awk chamando o rev dentro.
Deve piorar a performance.

awk 'length>17 && $0 == system("rev <<<"$0)'

Abraços Paulo

On 18/03/2019 10:34, Alfredo Casanova address@hidden [shell-script] wrote:
A brincadeira não é necessariamente performance, e sim tamanho do código.
Pode ficar mais lento, mas tem que ser menor hahaha

On Mon, Mar 18, 2019 at 10:13 AM address@hidden <mailto:address@hidden> [shell-script] <address@hidden <mailto:address@hidden>> wrote:

    __

    Caro Alfredo

    Eu acredito que não haverá nenhum script em shell puro que ganharia do 
Python, talvez algo feito em Perl
    Todavia eu tenho algo aqui para detectar a existência de palíndromos, não 
sei se seria mais rápido do que
    a sugestão do Paulo ou a que vc fez, mas é este:

    awk 'length>17 {tam=length; for(i=1;i<=tam/2;i++){if 
(substr($1,i,1)!=substr($1,tam+1-i,1)) next};cont++};
    END{print cont}'

    Dependendo da versão do awk ao invés de length deva usar length() ou 
length($0)

    []'s
    Itamar



--
[]'s
Alfredo Tristão Casanova .͘.
Linux User #228230
tel: +55 61 9655 9619


--------------------------------------------------------------------------------------------------------------
Enviado por: Alfredo Casanova <address@hidden>
--------------------------------------------------------------------------------------------------------------
Responder através da web


reply via email to

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