[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] concatenar arquivos
From: |
Gustavo Chaves |
Subject: |
Re: [shell-script] concatenar arquivos |
Date: |
22 Apr 2005 09:27:45 -0300 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.4 |
>>>>> 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.
- 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 <=
- 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, 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