Arrondissement

Résolu/Fermé
herysoa Messages postés 9 Date d'inscription lundi 28 juillet 2014 Statut Membre Dernière intervention 13 novembre 2014 - 30 juil. 2014 à 08:39
herysoa Messages postés 9 Date d'inscription lundi 28 juillet 2014 Statut Membre Dernière intervention 13 novembre 2014 - 30 juil. 2014 à 11:00
Bonjour,

Je voudrais arrondir des chiffres avec une script shell, j'ai utilisé ceci:
awk -F " " '{ if ($1 >= "2") print $2" "int($1/2)}' file2.txt > file3.txt

---> contenue de file2.txt
18 26132xxxxx
11 26132xxxxx
10 26132xxxxx
10 26132xxxxx
10 26132xxxxx
9 26132xxxxxx
9 26132xxxxxx
9 26132xxxxxx
8 26132xxxxxx
8 26132xxxxxx
8 26132xxxxxx
7 26132xxxxxx
7 26132xxxxxx
7 26132xxxxxx
7 26132xxxxxx
mais pour le resultats il n'affiche que file3.txt:
26132xxxxx 4
26132xxxxx 4
26132xxxxx 4
26132xxxxx 4
26132xxxxx 4
26132xxxxx 4
26132xxxxx 3
26132xxxxx 3

donc il ne fait pas celui de
18 26132xxxxx
11 26132xxxxx
10 26132xxxxx
10 26132xxxxx
10 26132xxxxx
qui devrait donné:
9 26132xxxxx
5 26132xxxxx
5 26132xxxxx
5 26132xxxxx.....

est-ce que quelqu'un pourrait m'aider s'il vous plait?
Merci!

3 réponses

Utilisateur anonyme
30 juil. 2014 à 09:26
salut,

apparemment, les nombres de plus d'un chiffre sont lexicalement inférieur à 2
:?

mettre un nombre entre guillemets, dans
awk
, inhibe son aspect numérique (il n'est plus un nombre, mais un mot).

pour le shell, c'est pareil :
$ [ 18 \> 2 ] && echo ok || echo ko
ko
$ [ 9 \> 2 ] && echo ok || echo ko
ok
1
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
30 juil. 2014 à 09:23
Salut,

Essaye comme ça :

awk -F " " '{ if ($1 >= 2) print $2,int($1/2)}' f2
26132xxxxx 9
26132xxxxx 5
26132xxxxx 5
26132xxxxx 5
26132xxxxx 5
26132xxxxxx 4
26132xxxxxx 4
26132xxxxxx 4
26132xxxxxx 4
26132xxxxxx 4
26132xxxxxx 4
26132xxxxxx 3
26132xxxxxx 3
26132xxxxxx 3
26132xxxxxx 3

0
herysoa Messages postés 9 Date d'inscription lundi 28 juillet 2014 Statut Membre Dernière intervention 13 novembre 2014
30 juil. 2014 à 11:00
merci beaucoup pour votre aide et information!
0