[gilug.org] Processar fitxers per ordre
Quim Rovira quim rovira gmail com
2008-11-16 16:20:41 UTC
Sempre és un plaer poder donar un cop de ma :)
2008/11/16 Narcis Garcia - GiLUG <>:
> Moltes gràcies, amb l'exemple que m'has donat he entès el què explica el
> "man", però és que a més a més és exactament l'expressió que
> necessitava.
>
>
> -----Missatge original-----
> De: Quim Rovira <>
> Respon:
> Per a:
> Assumpte: Re: [gilug.org] Processar fitxers per ordre
> Data: Sat, 15 Nov 2008 17:04:44 +0100
>
> Narcís, mira't el "man grep", perquè permet utilitzar expressions
> regulars. Amb això, podries fer un filtre que t'agafi els quatre casos
> que fas, i no t'hauràs de preocupar de reordenar-ho a posteriori, que
> és molt redundant, i ho patiràs si els logs creixen gaire ;)
>
> La opció per a les expressions regulars és -E, i el que necessites com
> a pauta és quelcom en l'estil de "(g|k)dm.*(opened|closed)", però
> millor prova-ho en línia de comandes, perquè sempre em lio una mica
> per l'escapat dels caràcters.
>
> De fet, una solució encara millor seria aïllar el logging del gdm i
> kdm per a què passin al daemon de log que tinguis instal·lat un nivell
> diferenciat, i aleshores pots configurar que tot això vaig a parar a
> un arxiu de log que defineixis tu (o a diversos arxius, si vols
> mantenir-ho també al authlog). A més a més, després també pots
> configurar el logrotate (/etc/logrotate.d/*) perquè executi algun
> script teu al rotar-lo cada cop, o el que pretinguis que es faci cada
> vegada.
> Porta més feina de documentació, però la solució és sens dubte més
> maca, i t'estalvies deixar arxius al /tmp que tinguin permisos d'accés
> equivocats, etc.
>
>
> Salut!
>
> On Wed, Nov 12, 2008 at 11:29 AM, Narcis Garcia - GiLUG
> <> wrote:
>> Bé, ara estic fent:
>>
>> # Copia i descompressió de LOGs en un directori temporal
>> mkdir /tmp/bitacolasessions
>> cp --preserve=timestamps /var/log/auth.* /tmp/bitacolasessions/
>> if [ -f /tmp/bitacolasessions/auth.log.1.gz ] ; then gunzip
>> /tmp/bitacolasessions/*.gz ; fi
>>
>> # Unió dels continguts ordenats
>> ls -1tAr /tmp/bitacolasessions/auth.* | xargs cat
>>>/tmp/bitacolasessions/enbrut.log
>>
>> # Selecció dels continguts d'interès
>> cat /tmp/bitacolasessions/enbrut.log | grep gdm | grep opened
>>>>/tmp/bitacolasessions/mescla.log
>> cat /tmp/bitacolasessions/enbrut.log | grep kdm | grep opened
>>>>/tmp/bitacolasessions/mescla.log
>> cat /tmp/bitacolasessions/enbrut.log | grep gdm | grep closed
>>>>/tmp/bitacolasessions/mescla.log
>> cat /tmp/bitacolasessions/enbrut.log | grep kdm | grep closed
>>>>/tmp/bitacolasessions/mescla.log
>>
>> # Reordenació de les línies
>> cat /tmp/bitacolasessions/mescla.log | sort -M
>>>/tmp/bitacolasessions/ordenat.log
>>
>> Quan faig la selecció, al fitxer "mescla.log" queden les línies ordenades
>> per aquesta selecció, però com que les dates de la bitàcola (LOG) no porten
>> any, la reordenació de les línies pot dur al desastre amb el canvi d'any.
>> L'únic remei em sembla que seria poder fer una selecció d'aquest estil:
>> cat /tmp/bitacolasessions/enbrut.log | grep (kdm o gdm) i grep (opened o
>> closed) >>/tmp/bitacolasessions/ordenat.log
>>
>> Sabeu com es poden utilitzar operadors lògics amb grep ?
>>
>> Gracies
>>
>> -----Missatge original-----
>> De: Jordi Pujol <>
>> Per a:
>> CC: Narcis Garcia - GiLUG <>
>> Assumpte: Re: [gilug.org] Processar fitxers per ordre
>> Data: Tue, 11 Nov 2008 10:48:56 +0100
>>
>> El Sunday 09 November 2008 15:29:21 Narcis Garcia - GiLUG va escriure:
>>> Hola,
>>>
>>> Vull fer un script que mostri el contingut dels fitxers:
>>> /var/log/auth.log
>>> /var/log/auth.log.0
>>> però amb la següent instrucció:
>>> cat /var/log/auth.log*
>>> m'ho fa per ordre alfabètic.
>>>
>>> Algú sap com aconseguir que la instrucció "cat" o equivalent tramiti els
>>> fitxers per ordre de data-hora ?
>>>
>>
>> amb xarg podem encadenar varies instruccions per tal de processar les linies
>> rebudes des de stdin
>>
>> la ordre ls ens dona varies opcions per ordenar la sortida,
>> Sort entries alphabetically if none of -cftuvSUX nor --sort.
>> aquesta ordre ho fa:
>>
>> ls -t /var/log/auth.log* | xargs -r cat
>>
>>> Gracies.
>>>
>>>
>>> _______________________________________________
>>> Llista del GiLUG
>>>
>>> http://gilug.org/cgi-bin/mailman/listinfo/llista
>>> * Tots els missatges queden publicats a:
>>> http://gilug.org/pipermail/llista/
>>
>>
>>
>> _______________________________________________
>> Llista del GiLUG
>>
>> http://gilug.org/cgi-bin/mailman/listinfo/llista
>> * Tots els missatges queden publicats a:
>> http://gilug.org/pipermail/llista/
>>
> _______________________________________________
> Llista del GiLUG
>
> http://gilug.org/cgi-bin/mailman/listinfo/llista
> * Tots els missatges queden publicats a:
> http://gilug.org/pipermail/llista/
>
> _______________________________________________
> Llista del GiLUG
>
> http://gilug.org/cgi-bin/mailman/listinfo/llista
> * Tots els missatges queden publicats a:
> http://gilug.org/pipermail/llista/
>
Més informació sobre la llista de correu gilug