Champ de x caractères
Résolu
Elgringo
-
Elgringo -
Elgringo -
Bonjour,
J'ai un fichier de log que je souhaiterai exploiter. Dans ce fichier, il y a 4 champs bien définis et je souhaiterai que chacun de ces champs fassent 10 caractères.
Est-ce possible ? Si oui, comment faire ?
Merci d'avance
Elgringo
J'ai un fichier de log que je souhaiterai exploiter. Dans ce fichier, il y a 4 champs bien définis et je souhaiterai que chacun de ces champs fassent 10 caractères.
Est-ce possible ? Si oui, comment faire ?
Merci d'avance
Elgringo
Configuration: Windows XP Firefox 3.0.3
5 réponses
-
Re,
Avec printf$ perl -ne '($x,$y,$z)=split /\s/,$_;$z=~/^0/?printf "%-10s%-10s%-10s\n",$x,$y,$z:printf "%-10s%-10s%-10s%-10s\n",$x,$y,"",$z' elgringo 9/23/2008 11:30:3 0.3 9/23/2008 11:30:4 99.4815 9/23/2008 11:31:3 0.454091 9/23/2008 11:31:3 99.4811 9/23/2008 11:32:1 99.4811 9/23/2008 11:32:4 0.335955 9/23/2008 11:33:3 0.470259 9/23/2008 11:33:3 99.4809 9/23/2008 11:34:1 0.24569 9/23/2008 11:34:4 99.4703 9/23/2008 11:35:6 0.276838 9/23/2008 11:35:6 99.4713 9/23/2008 11:36:1 0.350064 9/23/2008 11:36:4 99.4142 9/23/2008 11:37:1 0.0 9/23/2008 11:37:4 99.4134 9/23/2008 11:38:3 0.688961 9/23/2008 11:38:3 99.413 9/23/2008 11:39:1 99.413 9/23/2008 11:39:3 0.424929 9/23/2008 11:40:1 99.4129 9/23/2008 11:40:4 0.612398 9/23/2008 11:41:1 99.4139 9/23/2008 11:41:1 0.206861 9/23/2008 11:42:1 99.414
-
Salut,
Affiche quelques lignes de ton fichier. -
voici les différents champs --> Date, Time, IND_cpu_time_rate, IND_memory_occup_rate
le fichier apparait comme ceci en faisant vi.
Date Time IND_cpu_time_rate IND_memory_occup_rate
9/23/2008 11:30:3 0.3
9/23/2008 11:30:4 99.4815
9/23/2008 11:31:3 0.454091
9/23/2008 11:31:3 99.4811
9/23/2008 11:32:1 99.4811
9/23/2008 11:32:4 0.335955
9/23/2008 11:33:3 0.470259
9/23/2008 11:33:3 99.4809
9/23/2008 11:34:1 0.24569
9/23/2008 11:34:4 99.4703
9/23/2008 11:35:6 0.276838
9/23/2008 11:35:6 99.4713
9/23/2008 11:36:1 0.350064
9/23/2008 11:36:4 99.4142
9/23/2008 11:37:1 0.0
9/23/2008 11:37:4 99.4134
9/23/2008 11:38:3 0.688961
9/23/2008 11:38:3 99.413
9/23/2008 11:39:1 99.413
9/23/2008 11:39:3 0.424929
9/23/2008 11:40:1 99.4129
9/23/2008 11:40:4 0.612398
9/23/2008 11:41:1 99.4139
9/23/2008 11:41:1 0.206861
9/23/2008 11:42:1 99.414 -
Je n'ai pas précisé mais les valeurs du champ IND_cpu_time_rate sont autour de 0,....... et celles du champ IND_memory_occup_rate sont autour de 99,.......
Normalement ces champs sont bien définis mais ici, ils apparaissent comme un seul (exactement comme sous excel) et je souhaiterai résoudre ce problème. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Salut,
tu veux quelque chose de ce genre?$ cat elgringo 9/23/2008 11:30:3 0.3 9/23/2008 11:30:4 99.4815 9/23/2008 11:31:3 0.454091 9/23/2008 11:31:3 99.4811 9/23/2008 11:32:1 99.4811 9/23/2008 11:32:4 0.335955 9/23/2008 11:33:3 0.470259 9/23/2008 11:33:3 99.4809 9/23/2008 11:34:1 0.24569 9/23/2008 11:34:4 99.4703 9/23/2008 11:35:6 0.276838 9/23/2008 11:35:6 99.4713 9/23/2008 11:36:1 0.350064 9/23/2008 11:36:4 99.4142 9/23/2008 11:37:1 0.0 9/23/2008 11:37:4 99.4134 9/23/2008 11:38:3 0.688961 9/23/2008 11:38:3 99.413 9/23/2008 11:39:1 99.413 9/23/2008 11:39:3 0.424929 9/23/2008 11:40:1 99.4129 9/23/2008 11:40:4 0.612398 9/23/2008 11:41:1 99.4139 9/23/2008 11:41:1 0.206861 9/23/2008 11:42:1 99.414 $ perl -ne '($x,$y,$z)=split /\s/,$_;print $x," "x(10-length($x)),$y," "x(10-length($y)),$z,"\n" if $z=~/^0/;print $x," "x(10-length($x)),$y," "x(20-length($y)),$z,"\n" if $z=~/^9/' elgringo 9/23/2008 11:30:3 0.3 9/23/2008 11:30:4 99.4815 9/23/2008 11:31:3 0.454091 9/23/2008 11:31:3 99.4811 9/23/2008 11:32:1 99.4811 9/23/2008 11:32:4 0.335955 9/23/2008 11:33:3 0.470259 9/23/2008 11:33:3 99.4809 9/23/2008 11:34:1 0.24569 9/23/2008 11:34:4 99.4703 9/23/2008 11:35:6 0.276838 9/23/2008 11:35:6 99.4713 9/23/2008 11:36:1 0.350064 9/23/2008 11:36:4 99.4142 9/23/2008 11:37:1 0.0 9/23/2008 11:37:4 99.4134 9/23/2008 11:38:3 0.688961 9/23/2008 11:38:3 99.413 9/23/2008 11:39:1 99.413 9/23/2008 11:39:3 0.424929 9/23/2008 11:40:1 99.4129 9/23/2008 11:40:4 0.612398 9/23/2008 11:41:1 99.4139 9/23/2008 11:41:1 0.206861 9/23/2008 11:42:1 99.414