Champ de x caractères

Résolu
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
A voir également:

5 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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
1
Elgringo
 
Voila c'est cela que je voulais obtenir. Le troisième champ et le quatrième était confondue donc pour récuperer les valeurs cela aurait été bien long a faire...
en tout cas,
Merci bienlami20j

Elgringo
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

Affiche quelques lignes de ton fichier.
0
Elgringo
 
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
0
Elgringo
 
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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
0