[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] concatenar arquivos
From: |
Emerson Domingues Souto |
Subject: |
Re: [shell-script] concatenar arquivos |
Date: |
Fri, 22 Apr 2005 12:19:28 -0300 |
Alem das razoes citadas pelo Gustavo, mais um motivo de não utilizar o glob
é pq degrada a velocidade da pesquisa.
----- Original Message -----
From: "Gustavo Chaves" <address@hidden>
To: <address@hidden>
Sent: Friday, April 22, 2005 9:27 AM
Subject: Re: [shell-script] concatenar arquivos
>>>>> On Thu, 21 Apr 2005 23:26:20 -0300 (BRT), Felipe Kellermann
<address@hidden> said:
> On Thu, 21 Apr 2005 11:03pm -0300, Gustavo Chaves wrote:
>> Experimente o seguinte comando, supondo que você esteja no diretório
>> que contém os logs:
>>
>> ls | egrep '^access_log(\.[0-9]+)?$' | sort -t. -k 2nr | xargs cat
>logao
> Algum motivo especial para nao selecionar os arquivos via glob? :-)
Na mensagem original ele mencionou que queria excluir um arquivo
chamado 'access_log_dia'. No caso específico, daria pra implementar o
filtro necessário assim, por exemplo:
ls access_log access_log.*
Mas, imaginando que cedo ou tarde pudessem aparecer outros arquivos
com nomes parecidos que também devessem ser excluídos, o que tornaria
a solução com glob mais complicada ou mesmo impraticável, eu achei
melhor ser bastante específico usando uma expressão regular. (Imagine
se aparecer um arquivo 'access_log.old'. Ou um 'access_log.3.old'.)
Um outro motivo (totalmente irrelevante neste caso específico, mas que
pode ser importante em outras situações) é que se a expansão de um
glob gerar uma quantidade muito grande de nomes de arquivos pode-se
estourar o limite para o tamanho da linha de comando da shell ou o
limite para o tamanho dos argumentos que o kernel pode passar para um
processo. (No Linux, por exemplo, este limite é de 128KB, o que é
bastante mas não é infinito. :-)
>> BTW, supondo, também, que você esteja usando o sort do GNU. Nem todos
>> os comandos sort aceitam os argumentos -t e -k.
> Mesmo? Eu nao sei, acho que todos tem. Ou tu quis dizer sobre os
formatos
> usando o `-k' ou os antigos `-+n', por exemplo? Todos deveriam ter, pelo
> menos. Ref.,
<http://www.opengroup.org/onlinepubs/007908799/xcu/sort.html>
Acho que você tem razão. Eu me lembro (mas posso estar enganado) de
já ter visto um sort que não implementava a opção -k, somente a forma
antiga de selecionar campos com '-+n'. Mas acabei de entrar nos
UNIXes mais antigos que ainda temos por aqui e o sort de todos eles
suporta mesmo as duas opções.
Gustavo.
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Links do Yahoo! Grupos
- concatenar arquivos, Marcus Vinicius, 2005/04/21
- Re: [shell-script] concatenar arquivos, Felipe Kellermann, 2005/04/21
- Re: [shell-script] concatenar arquivos, Gustavo Chaves, 2005/04/21
- Re: [shell-script] concatenar arquivos, Felipe Kellermann, 2005/04/21
- Re: [shell-script] concatenar arquivos, Gustavo Chaves, 2005/04/22
- Re: [shell-script] concatenar arquivos,
Emerson Domingues Souto <=
- Re: [shell-script] concatenar arquivos, Gustavo Chaves, 2005/04/22
- Re: [shell-script] concatenar arquivos, Emerson Domingues Souto, 2005/04/22
- Re: [shell-script] concatenar arquivos, Gustavo Chaves, 2005/04/22
- Re: [shell-script] concatenar arquivos, Emerson Domingues Souto, 2005/04/22
- Re: [shell-script] concatenar arquivos, Felipe Kellermann, 2005/04/22
- Re: [shell-script] concatenar arquivos, Gustavo Chaves, 2005/04/23
- Re: [shell-script] concatenar arquivos, Felipe Kellermann, 2005/04/23
- Re: [shell-script] concatenar arquivos, Felipe Kellermann, 2005/04/22