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

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

Re: [shell-script] Re: Unir centenas de arquivos hosts em um unico arqui


From: Michael Costa
Subject: Re: [shell-script] Re: Unir centenas de arquivos hosts em um unico arquivo
Date: Tue, 28 Feb 2017 17:54:27 -0300

Estou anexando os arquivos para ajudar na analise.

Julio, desculpe, mas não entendi como testar a sua resposta.



Em 28 de fevereiro de 2017 16:01, 'Julio C. Neves' address@hidden
[shell-script] <address@hidden> escreveu:

>
>
> Algumas observações [in]úteis:
>
>    - Normalmente, misturar sed com grep não é a melhor programação, use
>    um ou o outro;
>    - egrep está deprecated, prefira grep -E;
>    - O uniq com opção -c te dá a qtd de duplicações, então podemos fazer
>    algo com:
>
> $ paste <(sed '/^#/d; /^$/d; s/  */    /; s/ *$//; s/^  *//' | sort -r |
> uniq -c | sed -r 's/^ +([0-9]+ ).*/\1/') <(sed '/^#/d; /^$/d; s/  */    /;
> s/ *$//; s/^  *//' | sort -r | uniq)
>
> Como não tenho o arquivo, não testei, então pode ser que esteja errado.
>
>
> Abcs,
> Julio
>
> *​Damos treinamento em sua empresa por *
> *um preço, no mínimo, 50% mais barato que qualquer curso,*
> *com certificado e nota fiscal.*
>
> ​​
> Nosso time de instrutores *in company* é formado somente por
>
>
> autores
> ​ ​
>
> de
> *Best Sellers​ ​*​laureados ​sobre os temas. P. exemplo:
>
> Shell básico e Programação em Shell Julio Neves
> Bacula Heitor Medrado
> Zabbix Adail Host
> Produção Gráfica e Videografismo Cadunico
>
>
> Em 27 de fevereiro de 2017 09:03, Michael Costa address@hidden
> [shell-script] <address@hidden> escreveu:
>
>>
>>
>> Obrigado por alertar sobre o problema de espaço!
>> Consegui resolver assim:
>>
>> egrep -h -v "^$" hosts_mmvio* | egrep -v '^[a-z]|[A-Z]' | sed -e
>> "s/[[:blank:]]\{1,\}/ /g" | sort -u > hosts_unificado
>>
>> Agora ficou o lance dos duplicados para resolver
>>
>> Em 26 de fevereiro de 2017 21:56, address@hidden [shell-script] <
>> address@hidden> escreveu:
>>
>>>
>>>
>>> Caro Michael
>>>
>>> Não é duplicado pois os espaços são significativos, então:
>>> 127.0.0.1    localhost
>>> é diferente de
>>> 127.0.0.1       localhost
>>> pois este último tem 3 espaços a mais.
>>>
>>> O que poderia fazer é uniformizar os espaços com o sed mesmo:
>>> No lugar de:
>>> sed '/^#/d; /^$/d'
>>>
>>> Use algo como:
>>> sed '/^#/d; /^$/d; s/  */    /; s/ *$//; s/^  *//'
>>>
>>> Nesse caso eu apenas peguei uma ou mais sequência de espaços e fixei em
>>> 4 espaços e eliminei a possibilidade de haver espaços adicionais no final e
>>> no começo.
>>>
>>> Acho que isso elimina o problema, exceto pela ocorrência da primeira e
>>> segunda linha.
>>>
>>> []'s
>>> Itamar
>>>
>>
>>
> 
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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