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
A voir également:
- Champ de x caractères
- Site x - Guide
- Sites X : Pornhub, YouPorn et Redtube sont de nouveau accessibles en France - Guide
- Caractères ascii - Guide
- Caractères spéciaux - Guide
- Photoscape x - Télécharger - Retouche d'image
5 réponses
Re,
Avec printf
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
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
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.
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?
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
en tout cas,
Merci bienlami20j
Elgringo