[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: script per analisi di log



On 19/10/2012 17:08, Pierpaolo Mannone wrote:
Salve lista,

atttraverso un bash-script, dovrei estrarre da un file di log tutte le
transazioni xml ( dal tag che inizia per "*<SOAP-ENV:Envelope*" al tag
che termina con "*</SOAP-ENV:Envelope>*")  in modo ordinato (ovvero
scorrendo il file dal basso verso l'alto) e che contengono un dato
tag, con un dato valore.

in teoria dovresti usare un parser xml, però penso possa andare bene qualcosa del genere che stampa su ogni riga ciò che è contenuto tra <SOAP-ENV:Envelope e </SOAP-ENV:Envelope>
eliminando tutto il resto

Non ho capito perché deve processare dal basso verso l'alto... non ho fatto nulla

Lo script vuole in input il file da processare

---8<------8<------8<---start script---8<------8<------8<---
#!/bin/bash

if [[ "$1" == "" ]] || [[ ! -f "$1" ]]; then
 echo $0 nomefile.est
 exit
fi

StartTag="<SOAP-ENV:Envelope"
EndTag="<\/SOAP-ENV:Envelope>"

StartChar="¹"
EndChar="²"

echo "$(cat "$1")" | tr "\n" " " | sed "s/$StartTag/$StartChar/g;s/$EndTag/$EndChar/g;s/^[^$StartChar]*//;s/$EndChar[^$StartChar]*/$EndChar/g;s/$StartChar\([^$EndChar]*\)$EndChar/\1\n/g"
---8<------8<------8<---end script---8<------8<------8<---

Nota: ho messo l'ultima istruzione tutta su una riga, spero non venga spezzata dalla mail... altrimenti bisogna mettere qualche \ per spezzarla su più righe

Ciao
Davide

--
Dizionari: http://linguistico.sourceforge.net/wiki
Elenco di software libero: http://tinyurl.com/eddgj
GNU/Linux User: 302090: http://counter.li.org
Non autorizzo la memorizzazione del mio indirizzo su outlook


Reply to: