[shell] suppression de caractere dans 1 ligne

[Fermé]
Signaler
-
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
-
bonjour,

voila mon probleme j'ai un fichier avec plusieurs lignes de ce type :

xx xx;yy yyy;eee ee;100 000;20 000


et j'aimerais pouvoir supprimer les espaces mais que pour les 2 derniers champs. J'ai pensé utiliser sed ou tr mais je ne sais/trouve pas si on peut lui demandser de remplacer a partir d'un certain champs dans une ligne..

quelqu'un peut 'il m'aider .?

merci beaucoup

2 réponses

Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 887
Salut,

Essaie voir avec :
sed -e "s/ //n"
ou "n" est l'occurence à remplacer dans la chaîne.
Ce qui peut donner ça :
[jp@MDK tmpfs]$ echo "xx xx;yy yyy;eee ee;100 000;20 000" | sed -e "s/ //4"

xx xx;yy yyy;eee ee;100000;20 000

[jp@MDK tmpfs]$ echo "xx xx;yy yyy;eee ee;100 000;20 000" | sed -e "s/ //5" -e "s/ //4"

xx xx;yy yyy;eee ee;100000;20000

[jp@MDK tmpfs]$
;-))
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

merci pour ta réponse,

le probleme est que je ne sais pas combien j'aurai d'occurence de l'espace avant l'endroit ou je veux les supprimer... donc je ne peux pas mettre sed -e "s/ //4"
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 887
Et les 2 chaînes à remplacer seront-elles toujours en dernière position ?
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 887 >
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020

J'avais z'oublié...
Les 2 chaines sont-elles exclusivement numériques ?
Et sont-elles uniques sur la ligne ?