Remplacer un espace par un caractère dans ksh

harunabdurrahman -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je fais face à une chaîne du genre:
A.B.c d e
Sachant que je dois séparer A,B,C et la chaîne 'd e f' pour qu'ils forment quatre blocs distincts.
La commande que j'ai mise est:

PREMIERBLOC='basename $nomDeLaChaine | awk -F. '{print $1}''
SECONDBLOC='basename $nomDeLaChaine | awk -F. '{print $2}''
TROISIEMEBLOC='basename $nomDeLaChaine | awk -F. '{print $3}''
'



Les deux premiers blocs affichent ce que j'attends;
par contre pour le troisième bloc, ça plante, j'ai en sortie pour la commande:
echo $PREMIERBLOC "_"$SECONDBLOC "_" $TROISIEMEBLOC
ceci:
A_B_C_d
e_ _ _
f_ _ _
ce qui est totalement bizarre!!!
En somme j'ai essayé de remplacer le caractère whitespace par un _ mais je n'y arrive pas;
d'où ma question: comment peut on faire pour remplacer un espace par un caractère en Ksh??
Merci beaucoup;

1 réponse

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Dis-nous a quoi ressemble ta chaine de départ et ce que tu veux réellement à la sortie.

    Merci ;-))
    0
    1. harunabdurrahman
       
      Salut zipe31,
      la chaine de depart ressemble a ca
      A.B.c d e
      un string A separe d'un string B par un point, et un string B separe d'un string c par un point, 'c' est separe de 'd' par un espace, et 'd' est separe de 'e' par un espace,
      ce que je veux c'est assigner le substring 'c d e' en une seule variable, pour avoir a la fin:
      exemple=c d e
      merci
      0
    2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Alors le plus simple c'est d'utiliser le remplacement de paramètres :

      $ echo ${B}
      A.B.C d e f
      
      $ echo ${B#* }
      d e f
      
      $ echo ${B%% *}
      A.B.C
      0
    3. harunabdurrahman
       
      Bonjour zipe31;
      merci pour ton aide mais ça ne marche absolument pas :(
      as tu une autre idée?
      0
    4. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Qu'est-ce qui ne marche pas ?
      T'as un exemple concret s'il te plaît ?
      0