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
Donc tout va bien je récupere bien mon information correctement. Maintenant je souhaiterais rendre ça dynamique.
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
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 !
Partager