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

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

Re: [shell-script] Comando para eliminar duplicatas não sequenciais


From: Fabiano Caixeta Duarte
Subject: Re: [shell-script] Comando para eliminar duplicatas não sequenciais
Date: Thu, 12 Nov 2009 14:13:54 -0200

2009/11/12 Marcio Gil <address@hidden>:
>> -----Original Message-----
>> From: Fabiano Caixeta Duarte
>>
>> Uma idéia a ser melhorada:
>>
>> TMP=$(mktemp /tmp/tmp.XXXXXX)
>> sort arquivo | uniq > $TMP
>> while [ $(wc -l < $TMP) -gt 0 ]; do
>>   linha=$(grep -m1 -f b arquivo)
>
> O que faz esse b? Imagino que você queria dizer:
>
>   linha=$(grep -m1 -f $TMP arquivo)
>
> Mas mesmo assim não funcionou:
>
> [marcio@localhost Cupom]$ grep "Bematech_FI_" !(*~*) | grep -v
> "DLLPROC\|DLLDEF\|LOAD_PROC" | sed
>  's/.*\(Bematech_FI_[A-Za-z0-9_]*\).*/\1/' | ~/tmp/teste.sh -
> "/tmp/tmp.jT3120"
>
>
> sed: -e expression #1, char 0: no previous regular expression
>
> sed: -e expression #1, char 0: no previous regular expression
>
> sed: -e expression #1, char 0: no previous regular expression
> ...
>
>>   echo $linha
>>   sed -i "/$linha/d" $TMP
>> done
>> rm $TMP
>>
>> Se ficar alguma dúvida, eu explico :)
>>
>
> Muito obrigado pelas idéias :-)

Sim. Na pressa eu acabei não substituindo o 'b' por $TMP.

Mas você disse que não funciona. Aqui eu estei com o que você passou
como modelo de seu arquivo.

Eu não sei o resultado disto:
> [marcio@localhost Cupom]$ grep "Bematech_FI_" !(*~*) | grep -v
> "DLLPROC\|DLLDEF\|LOAD_PROC" | sed
>  's/.*\(Bematech_FI_[A-Za-z0-9_]*\).*/\1/' | ~/tmp/teste.sh -
> "/tmp/tmp.jT3120"

Também não sei o conteúdo de teste.sh, que deve ser o fruto de uma
alteração do código que enviei. Meu código pede um arquivo chamado
"arquivo". Isto pode ser facilmente ajustado para receber dados da
stdin.

Caso queira enviar um exemplo real dos seus dados, podemos ajustar o
código. Entretanto, a idéia do Aurélio e do Thobias lembrada pelo
Tiago é de longe melhor do que a minha.

Abraços!

-- 
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]