Remplacer un espace par un caractère dans ksh
harunabdurrahman
-
zipe31 Messages postés 38797 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 38797 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:
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;
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;
A voir également:
- Remplacer un espace par un caractère dans ksh
- Espace insécable - Guide
- Remplacer disque dur par ssd - Guide
- Caractère spéciaux - Guide
- Espace de stockage gmail plein - Guide
- Caractere speciaux - Guide
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
$ echo ${B} A.B.C d e f $ echo ${B#* } d e f $ echo ${B%% *} A.B.Cmerci pour ton aide mais ça ne marche absolument pas :(
as tu une autre idée?
T'as un exemple concret s'il te plaît ?