Bonjour
Je suis coincé à essayer de résoudre cette question KSH et j'espère quelqu'un peut offrir des suggestions.
Je veux lire des gros lots. Gz une ligne à la fois, afin de comparer ses entrées d'erreur avec une liste des erreurs connues. Je ne peux pas simplement faire "ERREUR foreach ne gzcat *. gz | grep $ (ERREUR)" parce que j'aurais à analyser tous les gros fichier de log pour les erreurs connues et le temps de le faire serait jours. Je veux donc analyser les fichiers journaux une fois, lisez chaque ligne, de comparer l'erreur, et l'augmentation de l'erreur pour chaque erreur. Je sais plus comment faire de cette exception de la partie traitement sur une ligne à la fois à partir d'un. Gz fichier.
Je suis arrivé avec quelque chose de ce genre, mais il ne fonctionne pas. Ce qui produit toutes les lignes dans le fichier, au lieu:
Code:
while read file_line
do
ERROR=`grep ^ERROR ${file_line}`
print ${ERROR}
done < `gzcat 080803.gz`
C'est la production qui sort. Il convient de sortie seulement les lignes commençant avec l'erreur, mais il l'affiche tout comme la AUDIT lignes. Je veux juste le ERREUR lignes. Et il n'ya pas de retour chariot.
AUDIT; WebContainer: 2008-08-04 00:11:51,554; com.at.commons: A_EndRequest - Fait de préparer la réponse pour la transaction pour uri '/ docroot / communes »en 337 ms. JAUDIT ^; WebContainer: 2008-08-04 00:11:58,885; com.at.commons: A_BeginRequest - Reçu demande de transaction pour uri '/ docroot / commune ». JAUDIT ^; WebContainer: 20-08-08-04 00:11:59,136; com.at.commons : A_EndRequest - Fait de préparer la réponse pour la transaction pour uri '/ docroot / communes »en 251ms. JAUDIT ^; WebContainer: 2008-08-04 00:12:08,686; com.at.commons: A_BeginRequest - Reçu de demande de transaction uri' / docroot / commune ». JAUDIT ^; WebContainer: 2008-08-04 00:12:09,078; com.at.commons: A_EndRequest - Fait de préparer la réponse pour la transaction pour uri '/ docroot / communes» en 392 ms.: ne peut pas ouvrir
Je voulais que la sortie pour qu'il ressemble à ce lieu:
ERREUR; WebContainer: 2008-08-03 04:33:45,787; com.models.userlist.query: E_AggregationError
ERREUR; WebContainer: 2008-08-03 04:33:59,930; com.models.userlist.query: E_AggregationError
ERREUR; WebContainer: 2008-08-03 04:34:31,751; com.app.cdmeng.combination: E_marshalException
Qu'est-ce que je fais de mal? Toute aide serait très apprécié.
Merci.