[gilug.org] Processar fitxers per ordre

Narcis Garcia - GiLUG informatica actiu net
2008-11-12 10:29:09 UTC


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/


-------------- part següent --------------
Un document HTML ha estat eliminat...
URL: <https://llista.gilug.org/pipermail/usuaris/attachments/20081112/1835055d/attachment.htm>


Més informació sobre la llista de correu gilug