Bonjour,
Pourrai je faire la conversion d'une chaine de caractères en un numerique
exemple :
0000102031 en 1020.31
Salutations.
Bonjour,
Pourrai je faire la conversion d'une chaine de caractères en un numerique
exemple :
0000102031 en 1020.31
Salutations.
Bonjour.
Bash est très pauvre dès qu'il s'agit de faire des opérations mathématiques sur des réels. Il faut faire appel à la librairie bc.
en hsh, qui supporte l'arithmétique des nombres flottants, c'est plus simple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo 'scale=2; 0000102031 / 100' | bc
Code : Sélectionner tout - Visualiser dans une fenêtre à part printf '%.2f' $((0000102031/100))
Bonjour,
Le truc est que dans mon script, je récupère des informations avec :
où le fichier final_file contient des lignes de la forme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part grep "^[0].*R *$" final_file | awk ' { print "001,"substr($0,200,10)",,"substr($0/100,156,13)"."substr($0,169,2)
le montant est ce qui est gras et souligné0000010607100100634030010066338 xxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxx
0000000120203012007061420070522R F BBB BACS 1000003024 001du2204au2105 07ECH1106N FACT9149935
pourrai je utiliser ce que tu m'as donner pour extraire cette l'information ?
Merci d'avance
tu peux utiliser la syntaxepour extraire une sous chaîne sans passer par awk.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ${ligne:$position:$longueur}
Attention, c'est en bash.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $bla=123456789 $echo ${bla:1:3} 234
Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux
Bonjour;
Effectivement ceci marche, mais le hic c'est que le nombre de 0 à gauche n'est pas fixe, et je peux pas connaitre la position ou commence le montant.
Salutations.
Donnes-nous plusieurs lignes typiques et représentatives de toutes les formes possibles. Sinon, on risque de tourner en rond.
Partager