Formater un résultat
Résolu/Fermé
dna.factory
Messages postés
25352
Date d'inscription
mercredi 18 avril 2007
Statut
Modérateur
Dernière intervention
15 novembre 2024
-
Modifié par dna.factory le 13/08/2015 à 16:18
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 14 août 2015 à 09:30
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 14 août 2015 à 09:30
A voir également:
- Formater un résultat
- Comment formater un pc - Guide
- Formater clé usb mac - Guide
- Lexer resultat - Télécharger - Sport
- Comment formater un pc sans mot de passe - Guide
- Resultat foot - Télécharger - Vie quotidienne
2 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
13 août 2015 à 16:35
13 août 2015 à 16:35
Salut,
En attendant dubcek pour une solution avec printf et/ou awk, voici la mienne avec sed ;-))
En attendant dubcek pour une solution avec printf et/ou awk, voici la mienne avec sed ;-))
$ cat fich
125
10
4501
$ sed ':z;s/^.\{1,5\}$/0&/;tz;s/..\B/&./g' fich
00.01.25
00.00.10
00.45.01
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 620
14 août 2015 à 09:30
14 août 2015 à 09:30
hello
quelques variantes,
quelques variantes,
$ awk -F "[<>]" '{x=sprintf ("%06d", $3); print substr(x, 1, 2) "." substr (x, 3, 2) "." substr(x, 5)}' fichier
00.01.25
00.00.10
00.45.01
$ sed -r 's/[^0-9]//g; s/.*/printf "%06d" &/e; s/(^..)(..)/\1.\2./' fichier
00.01.25
00.00.10
00.45.01
$ awk -F "[<>]" '{printf "%06d\n", $3}' fichier | sed -r 's/(^..)(..)/\1.\2./'
00.01.25
00.00.10
00.45.01
13 août 2015 à 16:52
Y'a pas à dire, coté esthétique, ça se pose là...
Par contre, je vais mettre ça dans mon programme, et dans un an, je vais être là : 'merde, qu'est-ce que ça fait ce truc '..
13 août 2015 à 17:02
Là on vérifie que la ligne comprend entre 1 et 5 caractère(s), et si c'est le cas on substitue la ligne par elle même (&) précédé d'un 0 (zéro)
Si et seulement si une substitution a eu lieu précédemment, se brancher (commande t) à l'étiquette (z) et recommencer.
Quand on a bien 6 caractères, on substitue chaque 2 caractères par eux-mêmes suivis d'un point, sauf si on est en limite de caractère (\B) en fin de ligne quoi.
13 août 2015 à 16:56
En vrai, mon entrée était en xml :
<cle>125</cle>
j'avais déja fait un petit awk -F '<|>' {print $3}'
Juste pour le trip, tu peux me montrer ce que donnerait le sed qui vire les balises xml au passage ?
13 août 2015 à 18:20
13 août 2015 à 17:04