Suppression d'espace en shell bash

Résolu/Fermé
jean - 6 juil. 2010 à 15:18
 jean - 6 juil. 2010 à 16:19
Bonjour,

j'ai dans un script une variable qui contient une liste de prénoms et de noms.
Mais je n'arrive pas à supprimer les premiers espaces de début de ligne.
Quand je fais sed 's/ //g' je supprime les espaces entre les mots mais pas les 2 espaces du début.
Comment je peux faire ?

avec cat -A j'ai le code "M-BM- M-BM- " qui apparait a l'endroit des espaces génants

En vous remerciant
A voir également:

6 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
6 juil. 2010 à 15:27
Salut,

Voir ce post !
0
je vois bien la similitude du probleme, mais pourriez vous m'expliquer la regexp suivante ( car je suppose que c'est avec ca que je devrais resoudre mon pb ) :

sed '/^\xC2\xA0$/{:z;N; /\n\xC2\xA0$/!b; s/^\xC2\xA0\n\xC2\xA0\n\xC2\xA0\n\xC2\xA0$/#/;T z}'
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
Modifié par jipicy le 6/07/2010 à 15:41
S'il n'y a que les 2 espaces en début de ligne à supprimer, la syntaxe suivante devrait suffire :

sed 's/^\xC2\xA0//' fichier
0
EN effet, avec sed 's/^\xC2\xA0\xC2\xA0//' fichier cela a fonctionné.
A quoi correspond le xC2\xA0 ? comment sait on que c'est ce code ci qui correspond ?

merci en tout cas
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
6 juil. 2010 à 15:57
En fait "\xC2\xA0" c'est la notation en hexadécimal du code ASCII (\302\240) correspondant à la séquence de caractère non-imprimable "M-BM- M-BM- ".

Il suffit d'afficher ton fichier avec "cat -A" ou "sed -n l" ou encore avec un éditeur hexadecimal comme "hexedit" ou "od" pour voir ce code. Après il suffit de chercher un tableau sur le net pour la correspondance...
0
Très bien . Merci pour les informations, je pourrai me débrouiller dorénavant :)
0