Bonjour à tous,

J'ai un petit souci en shell (je ne m'y connais pas trop) :

Voila mon problème :
Je récupere une chaine de caractère depuis un fichier source (donné en paramètre) ma chaine se dessine sous cet forme :
/{espace}toto/{espace}tete/{espace}titi/{espace}tata/

Le but du jeu c'est donc d'avoir le chemin en entier et correct :
/toto/tete/titi/tata/
Bizarrement, je n'ai pas réussi à supprimer les espaces (test avec la commande tr ou awk).
Du coup j'ai utilisé un moyen de contournement que voici

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
chemin_source=`grep ^lcd $1|awk '{print $2 }'`
fichier=`grep ^put $1|awk '{print $2 }'`
echo $fichier
lg_chaine=`expr ${#fichier} - 1`
file=`echo $fichier|cut -c 2-$lg_chaine`
echo $file
echo $chemin_source
dossier_source1=`echo $chemin_source|cut -f1 -d" "`
dossier_source2=`echo $chemin_source|cut -f2 -d" "`
dossier_source3=`echo $chemin_source|cut -f3 -d" "`
dossier_source4=`echo $chemin_source|cut -f4 -d" "`
dossier_source5=`echo $chemin_source|cut -f5 -d" "`
echo $chemin_source|cut -f15 -d" "
separateur="/"
chemin_source="$dossier_source1""$dossier_source2""$separateur""$dossier_source3""$separateur""$dossier_source4""$separateur""$dossier_source5""$separateur""$file"
echo $chemin_source
Donc tout va bien je récupere bien mon information correctement. Maintenant je souhaiterais rendre ça dynamique.
Parce que dans le code ci dessus je suppose que le chemin possede 5 repertoire ce qui n'est pas toujours le cas.

Auriez vous une piste ?

Merci beaucoup !