2017-03-27 1 views
0

J'ai quelque chose comme ceci:entrées multiples dans une commande

ERROR_CODE = 1; num = 5;

Code_erreur = 2; num = 7;

Code_erreur = 3; num = 9;

Code_erreur = 1; num = 2;

Code_erreur = 2; num = 5;

. . .

Et beaucoup de codes d'erreur (100) Prétendre le fichier appelé performance.log

Comment puis-je utiliser une commande, mais chaque fois que le code d'erreur est différent comme:

grep -i "error_code=$x;" performance.log | awk -F";" '{print $2}' > $x_error_code.txt 

Alors chaque fois que la variable x est une nouvelle valeur définie à partir du code d'erreur Et lorsque les codes d'erreur se terminent, le script se termine

+0

Qu'avez-vous déjà essayé? C'est mieux si vous posez une question spécifique plutôt que des conseils généraux. – Brody

+0

quel résultat es-tu en train d'attendre? – RomanPerekhrest

+0

@RomanPerekhrest chaque code d'erreur dans un fichier –

Répondre

0

Pour diviser le fichier d'entrée en fichiers individuels ch code d'erreur:

awk -F";" '{fn=substr($1, index($1,"=")+1); print $2 > fn"_error_code.txt";}' performance.log