Cuando miras en un archivo log u otro archivo que están comprimidos y rotados automáticamente, es muy útil el estar habilitado para tratar con ellos de forma uniforme, la siguiente función bash hace eso:
function data_source ()
{
local F=$1
# strip the gz if it's there
F=$(echo $F | perl -pe 's/.gz$//')
if [[ -f $F ]] ; then
cat $F
elif [[ -f $F.gz ]] ; then
nice gunzip -c $F
fi
}
Ahora cuando deseas procesar los archivos, puedes usar:
for file in * ; do
data_source $file | ...
done
Si tienes archivos bzip2, solo modifica la función data_source para que revise eso tambien.
Fuente.
No hay comentarios:
Publicar un comentario