Supprimer les décimales sur un champs numérique dans une ligne
Résolu/Fermé
JsuisNul
Messages postés
122
Date d'inscription
mercredi 13 février 2013
Statut
Membre
Dernière intervention
14 février 2024
-
26 août 2013 à 11:35
JsuisNul Messages postés 122 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 14 février 2024 - 26 août 2013 à 14:34
JsuisNul Messages postés 122 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 14 février 2024 - 26 août 2013 à 14:34
A voir également:
- Supprimer les décimales sur un champs numérique dans une ligne
- Comment supprimer une page sur word - Guide
- Aller à la ligne dans une cellule excel - Guide
- Supprimer compte instagram - Guide
- Comment récupérer les messages supprimés sur whatsapp - Guide
- Pavé numérique bloqué - Guide
4 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
26 août 2013 à 11:42
26 août 2013 à 11:42
Salut,
Rajouter l'option "-i.bak" pour un remplacement direct dans le fichier avec une sauvegarde en ".bak" en prime ;-))
$ cat plop 00100290;20130101;COTIPAT2;1296.86;R 00100290;20130101;HMENS;151.67;R 00100290;20130101;SALBRUT;2866.78;R 00100290;20130101;SALNET;2199.54;R 00100290;20130101;PRIMANN;0.00;R 00100290;20130101;PRIMMENS;369.87;R 00100290;20130101;SALBASE;2249.00;R 00100290;20130101;COTIPAT;1396.05;R 00100290;20130101;PRIMANC;247.91;R 04000303;20130101;COTIPAT2;1368.45;R 04000303;20130101;HMENS;151.67;R 04000303;20130101;SALBRUT;3025.00;R 04000303;20130101;SALNET;2320.91;R 04000303;20130101;PRIMANN;0.00;R 04000303;20130101;PRIMMENS;0.00;R 04000303;20130101;SALBASE;2750.00;R 04000303;20130101;COTIPAT;1473.11;R 04000303;20130101;PRIMANC;275.00;R 00004027;20130101;COTIPAT2;1161.78;R 00004027;20130101;HMENS;151.67;R 00004027;20130101;SALBRUT;2568.16;R 00004027;20130101;SALNET;1970.42;R 00004027;20130101;PRIMANN;0.00;R 00004027;20130101;PRIMMENS;320.77;R 00004027;20130101;SALBASE;2027.00;R 00004027;20130101;COTIPAT;1250.64;R 00004027;20130101;PRIMANC;220.39;R $ sed '/SALBASE/{s/\.[[:digit:]]\+//}' plop 00100290;20130101;COTIPAT2;1296.86;R 00100290;20130101;HMENS;151.67;R 00100290;20130101;SALBRUT;2866.78;R 00100290;20130101;SALNET;2199.54;R 00100290;20130101;PRIMANN;0.00;R 00100290;20130101;PRIMMENS;369.87;R 00100290;20130101;SALBASE;2249;R 00100290;20130101;COTIPAT;1396.05;R 00100290;20130101;PRIMANC;247.91;R 04000303;20130101;COTIPAT2;1368.45;R 04000303;20130101;HMENS;151.67;R 04000303;20130101;SALBRUT;3025.00;R 04000303;20130101;SALNET;2320.91;R 04000303;20130101;PRIMANN;0.00;R 04000303;20130101;PRIMMENS;0.00;R 04000303;20130101;SALBASE;2750;R 04000303;20130101;COTIPAT;1473.11;R 04000303;20130101;PRIMANC;275.00;R 00004027;20130101;COTIPAT2;1161.78;R 00004027;20130101;HMENS;151.67;R 00004027;20130101;SALBRUT;2568.16;R 00004027;20130101;SALNET;1970.42;R 00004027;20130101;PRIMANN;0.00;R 00004027;20130101;PRIMMENS;320.77;R 00004027;20130101;SALBASE;2027;R 00004027;20130101;COTIPAT;1250.64;R 00004027;20130101;PRIMANC;220.39;R
Rajouter l'option "-i.bak" pour un remplacement direct dans le fichier avec une sauvegarde en ".bak" en prime ;-))
sed -i.bak '/SALBASE/{s/\.[[:digit:]]\+//}' plop
JsuisNul
Messages postés
122
Date d'inscription
mercredi 13 février 2013
Statut
Membre
Dernière intervention
14 février 2024
1
26 août 2013 à 12:15
26 août 2013 à 12:15
Bonjour,
Merci pour ta réponse.
J'ai testé et j'ai ce message d'erreur :
sed: Function /SALBASE/{s/\.[[:digit:]]\+//} cannot be parsed.
Merci pour ta réponse.
J'ai testé et j'ai ce message d'erreur :
sed: Function /SALBASE/{s/\.[[:digit:]]\+//} cannot be parsed.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
26 août 2013 à 12:27
26 août 2013 à 12:27
Quel environnement ?
Quelle version de sed ?
Sinon, essaye avec awk :
Quelle version de sed ?
Sinon, essaye avec awk :
awk 'BEGIN {FS=OFS=";"} $3 ~ /SALBASE/{sub(/\.[[:digit:]]*/,"",$4)};{ print}'
JsuisNul
Messages postés
122
Date d'inscription
mercredi 13 février 2013
Statut
Membre
Dernière intervention
14 février 2024
1
26 août 2013 à 14:17
26 août 2013 à 14:17
le awk à l'air de fonctionné mais je ne vois pas comment l'intégrer pour qu'il modifie directement mon fichier de sortie ?
en gros avec ta commande ou je mets le nom du fichier à modifier ?
en gros avec ta commande ou je mets le nom du fichier à modifier ?
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
26 août 2013 à 14:18
26 août 2013 à 14:18
awk 'BEGIN {FS=OFS=";"} $3 ~ /SALBASE/{sub(/\.[[:digit:]]*/,"",$4)};{ print}' fichier_entrée > fichier_sortie
JsuisNul
Messages postés
122
Date d'inscription
mercredi 13 février 2013
Statut
Membre
Dernière intervention
14 février 2024
1
26 août 2013 à 14:06
26 août 2013 à 14:06
Voici pour le système :
uname -a => AIX u203esg2 3 5 000EC30AD400
echo $SHELL => /usr/bin/ksh
j'essaie le awk et je te dis.
uname -a => AIX u203esg2 3 5 000EC30AD400
echo $SHELL => /usr/bin/ksh
j'essaie le awk et je te dis.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
Modifié par zipe31 le 26/08/2013 à 14:14
Modifié par zipe31 le 26/08/2013 à 14:14
Argh... Aix et son sed minimaliste ;-(
Sinon, essaie comme ça :
Sinon, essaie comme ça :
sed '/SALBASE/{s/\.[0-9][0-9]*//}' fichir
JsuisNul
Messages postés
122
Date d'inscription
mercredi 13 février 2013
Statut
Membre
Dernière intervention
14 février 2024
1
26 août 2013 à 14:32
26 août 2013 à 14:32
je crois qu'il aime pas non plus...
/SALBASE/{s/\.[0-9][0-9]*//} cannot be parsed.
/SALBASE/{s/\.[0-9][0-9]*//} cannot be parsed.
JsuisNul
Messages postés
122
Date d'inscription
mercredi 13 février 2013
Statut
Membre
Dernière intervention
14 février 2024
1
26 août 2013 à 14:12
26 août 2013 à 14:12
avec le sed ZIP31 ?
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
26 août 2013 à 14:14
26 août 2013 à 14:14
Oui.
JsuisNul
Messages postés
122
Date d'inscription
mercredi 13 février 2013
Statut
Membre
Dernière intervention
14 février 2024
1
26 août 2013 à 14:34
26 août 2013 à 14:34
Bon c'est bon ça fonctionne impec avec le awk ;-)
Merci zipe31
Merci zipe31