|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Administrateur systèmes et réseaux Inscription : juillet 2011 Messages : 5 ![]() |
Bonjour à tous,
J'ai un fichier sous cette forme; 2011-07-22 08:00 toto titi tata 2011-07-22 08:00 1 2 3 4 5 6 2011-07-22 08:01 tic tac 2011-07-22 08:02 a b c d 2011-07-22 08:03 foo bar Je voudrais que toutes les lignes qui ne commence pas par une date (YYYY-MM-DD HH:MM) remonte à la fin de la ligne précédente. Dans mon exemple ça devrait donner ça ; 2011-07-22 08:00 toto titi tata 2011-07-22 08:00 1 2 3 4 5 6 2011-07-22 08:01 tic tac 2011-07-22 08:02 a b c d 2011-07-22 08:03 foo bar Je pense que la fonction append (a) de sed pourrais bien faire l'affaire mais j'ai du mal la! Merci pour votre aide :o) |
|
|
10
|
|
|
#2 |
|
Membre émérite
![]() ![]() Inscription : octobre 2004 Messages : 668 ![]() |
Code :
awk --re-interval '/^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}/{printf "\n" $0 " " } !/^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}/{printf $0}' file.txt
__________________
Software becomes slower faster than hardware becomes faster http://xrenault.developpez.com API C standard (C ANSI ) |
|
|
10
|
|
|
#3 | ||
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Salut,
En misant sur le fait qu'aucune ligne autre que les dates ne commencent par plusieurs chiffres suivis d'un tiret Code :
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
||
|
|
10
|
|
|
#4 | |
|
Candidat au titre de Membre du Club
![]() Administrateur systèmes et réseaux Inscription : juillet 2011 Messages : 5 ![]() |
Citation:
Yes! On y est presque... je m'explique! Mon fichier exemple n'était pas complet. Je voudrais pouvoir gerer aussi et surtout ce cas la ; 2011-07-22 08:00 1 2 3 4 5 6 2011-07-22 08:01 tic tac Il peut y avoir plusieurs ligne qui ne commencent pas par une date à la suite :o) |
|
|
|
10
|
|
|
#5 | |
|
Candidat au titre de Membre du Club
![]() Administrateur systèmes et réseaux Inscription : juillet 2011 Messages : 5 ![]() |
Citation:
Je vais faire des tests de perf sur mes fichiers log de 800mo pour choisir une fois que j'aurai les 2 syntaxes! Merci a vous deux encore une fois! |
|
|
|
10
|
|
|
#6 | |
|
Membre émérite
![]() ![]() Inscription : octobre 2004 Messages : 668 ![]() |
Citation:
Code :
/mon_pattern/{ do something } !/mon_pattern/{do something else} Après, tu peux alléger : là, je t'ai mis mon_pattern pour matcher exactement le format de date, mais après, tu peux peut-être te contenter de matcher l'année suivie d'un tiret, ça dépend ensuite de tes données :-)
__________________
Software becomes slower faster than hardware becomes faster http://xrenault.developpez.com API C standard (C ANSI ) |
|
|
|
10
|
|
|
#7 | ||
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Voilà, en tenant compte de la date plus précisément et de plusieurs lignes consécutives sans date...
Code :
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
||
|
|
10
|
|
|
#8 | |
|
Candidat au titre de Membre du Club
![]() Administrateur systèmes et réseaux Inscription : juillet 2011 Messages : 5 ![]() |
Les deux méthodes fonctionnent nickel, merci à vous deux!Citation:
|
|
|
|
10
|
|
|
#9 | |
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Code :
sed -n ':z;$p;N;/motif/{P;D};s/\n/ /;bz' Citation:
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|
|
|
30
|
|
|
#10 | |
|
Candidat au titre de Membre du Club
![]() Administrateur systèmes et réseaux Inscription : juillet 2011 Messages : 5 ![]() |
Citation:
![]() Un grand MERCI! Très bonne journée à vous ;o) |
|
|
|
10
|
Copyright © 2000-2012 - www.developpez.com