#1 Le 01/06/2008, à 13:20
- Le Roi Newbie
[Résolu] zenity --list avec un variable contenant des espaces
Bonjour à tous !
Voici un petit résumé de mon problème :
1 - J'ai généré une liste de fichier d'un dossier, liste enregistrée dans un fichier nomme file :
/(Chemin du répertoire)/
Fichier 1
Fichier 2
Fichier 3
On supppose donc que les fichiers se nomment : Fichier 1 et Fichier 2 et Fichier 3.
2 - Je voudrais afficher chaque fichier sur une checklist avec zenity, j'ai donc fait ceci :
NBlignes=$(wc -l "$file" | cut -d" " -f1)
for ((i=2;i<=$NBlignes;i++))
do
echo -e -n " TRUE \"$(sed -n "$i p" "$file")\"" >> tmp_file
done
=> J'obtiens ce fichier temporaire :
TRUE "Fichier 1" TRUE "Fichier 2" TRUE "Fichier 3"
Et ensuite je fait ceci :
checklist=$(sed -n "1 p" "tmp_file")
list=$(zenity --list --checklist --separator="\n" --text="Cochez les fichiers à garder" --column="" --column="Fichiers gardés" $checklist)
Le but étant d'avoir un équivalent à ceci :
list=$(zenity --list --checklist --separator="\n" --text="Cochez les fichiers à garder" --column="" --column="Fichiers gardés" TRUE "Fichier 1" TRUE "Fichier 2" TRUE "Fichier 3")
Mais le problème est qu'au lieu d'avoir la checklist :
#Fichier 1
#Fichier 2
#Fichier 3
J'ai ceci :
#Fichier
#1
#Fichier
#2
#Fichier
#3
Auriez-vous une idée ?
Je vous remercie d'avance pour vos réponses et d'avoir lu ce message !
A très bientôt j'espère.
Dernière modification par Le Roi Newbie (Le 03/06/2008, à 15:00)
Hors ligne
#2 Le 01/06/2008, à 15:46
- Alain.g
Re : [Résolu] zenity --list avec un variable contenant des espaces
Bonjour
Je pense qu'il faut passer par un tableau, ça te permettrait d'ailleurs de ne pas avoir besoin du fichier temporaire :
while read line ; do checklist+=(TRUE "$line") ; done < <(sed '1d' "$file")
list=$(zenity --list --checklist --separator="\n" --text="Cochez les fichiers à garder" --column="" --column="Fichiers gardés" "${checklist[@]}")
Xubuntu Karmic !
Hors ligne
#3 Le 01/06/2008, à 19:27
- LittleWhite
Re : [Résolu] zenity --list avec un variable contenant des espaces
Dans le cas ou on veut garder des noms avec des espaces il faut ecrire la variable come cela :
file=mon fichier avec espace
"${file}"
Mais je ne sais pas si ça va t'aider ( j'ai eu ce problème y a pas longtemps )
Linux ou mourir
Pour avoir des problemes : demarrer Windows
Script de compression multi archive : http://forum.ubuntu-fr.org/viewtopic.php?id=225297
Hors ligne
#4 Le 03/06/2008, à 15:00
- Le Roi Newbie
Re : [Résolu] zenity --list avec un variable contenant des espaces
Pour les guillemets ça marche malheureusement pas. Je sais pas trop pourquoi, on dirait l'interprétation est différente si on passe par une variable contenant déjà des guillemets.
Par contre le tableau marche très bien !
Merci beaucoup à vous !
Hors ligne