Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/04/2014, à 19:56

kurapika29

[Pas solve mais contourné] Souci avec sed ou erreur de ma part

Bonjour à vous,
je viens vous exposer un problème apparu depuis xubuntu 13.10 que je n'arrive pas à régler.
Je me suis fais un script tout bête qui fonctionnais depuis pas mal de temps et qui depuis cette mise à niveau me pose une colle que je ne comprend pas car mon script fonctionne en 13.04 et moins.
Le soucis viens de cette commande :

CHOIX=$(ls -d */ | sed "s#/## ; 1i\Nouveau" | zenity --list --title "Mangas update" --text "Que voulez-vous mettre à jour ?" --column="Choix")

Pour vous mettre un peu plus de précision, j'ai un dossier Mangas dans lequel j'ai deux sous dossier "Animé, Scan" cette commande me sert juste à attrapé cette variable.
Mais elle ressort comme ça

Animé | Animé

Si vous pouvez m'éclairer du pourquoi et du comment tongue

Et au cas où j'vous mets le script entier

#!/bin/bash

#Se placer dans le dossier mangas
mkdir -p ~/Mangas

#Un compteur pour relancer le script à la fin sur demande
COUNTER=0
while [ "$COUNTER" -ne "1" ]; do

    #Choix de la catégorie
    cd ~/Mangas
    if [ "$(ls -d */)" ]; then
    CHOIX=$(ls -d */ | sed "s#/## ; 1i\Nouveau" | zenity --list --title "Mangas update" --text "Que voulez-vous mettre à jour ?" --column="Choix") || exit
    else
    CHOIX=$(zenity --list --title "Mangas update" --text "Que voulez-vous mettre à jour ?" --column="Choix" "Nouveau") || exit
    fi
    
    if [ "${CHOIX}" = "Nouveau" ]; then
    CHOIX=$(zenity --entry --title "Mangas Update" --text "Quel catégorie voulez-vous ajouter ?" --entry-text "catégorie") || exit
    fi
    
    mkdir -p ~/Mangas/"$CHOIX"
    cd ~/Mangas/"$CHOIX"

        COUNTER2=0
        while [ "$COUNTER2" -ne "1" ]; do
        
            #Quelle CHOIX mettre à jour ?
            if [ "$(ls)" ]; then
            DEP1=$(ls *.txt | sed "s/\.txt// ; 1i\Nouveau" | zenity --height=300 --list --title "Mangas Update" --text "Quel $CHOIX voulez-vous mettre à jour ?" --column="$CHOIX" ) || exit
            else
            DEP1=$(zenity --height=300 --list --title "Mangas Update" --text "Quel $CHOIX voulez-vous mettre à jour ?" --column="$CHOIX" "Nouveau" ) || exit
            fi

            #Si Nouveau séléctionné demander nom du Choix
            if [ "${DEP1}" = "Nouveau" ]; then
            EPISODE=1
            DEP1=$(zenity --entry --title "Mangas Update" --text "Quel $CHOIX voulez-vous ajouter ?" --entry-text "$CHOIX") || exit
            else
            EPISODE=$(( $(awk '{print $NF}' "${DEP1}".txt) + 1 ))
            fi
            
            #Quel episode ?
            DEP2=$(zenity --entry --title "Mangas Update" --text "Quel est le numero du dernier ${CHOIX} de ${DEP1} que vous ayez vu ?" --entry-text "${EPISODE}") || exit

            #Creer le fichier texte
            echo "- ${DEP1} ${DEP2}" > ~/Mangas/"$CHOIX"/"${DEP1}".txt
            cat ~/Mangas/"$CHOIX"/*.txt > ~/Mangas/"$CHOIX"/"$CHOIX".lst
            
            #Notificaton
            notify-send "${DEP1}" "${CHOIX} mis à jour" -i $HOME/Mangas/mangas_update.png
        
            #relancer sur le même $CHOIX
            zenity --question --title "Mangas Update" --text "Voulez-vous mettre à jour un autre ${CHOIX} ?" --ok-label="Oui" --cancel-label="non"
            if [ $? = "1" ]; then
                COUNTER2=1
                
                #relancer ou quitter
                zenity --question --title "Mangas Update" --text "Voulez-vous faire une autre mise à jour ?" --ok-label="Oui" --cancel-label="Quitter" || exit
                if [ $? = "1" ]; then
                    COUNTER=1
                fi
            fi
        done
done

Je suis conscient qu'il peut être améliorer mais il me suffit comme ça quand il fonctionne

Dernière modification par kurapika29 (Le 02/04/2014, à 22:36)


Disponible sur IRC, sur le serveur irc.freenode.net salon ##ubuntu-voyager (et aussi sur plein d'autre serveur/salon)
Venez si vous avec besoin d'aide ou pour causer ;) suffit d'avoir Xchat ou un autre client IRC
Où sinon en cliquant sur se lien http://kiwiirc.com/client/irc.freenode. … tu-voyager

Hors ligne

#2 Le 02/04/2014, à 22:02

tiramiseb

Re : [Pas solve mais contourné] Souci avec sed ou erreur de ma part

Salut,

C'est Zenity qui fait ce formatage, en doublant le nom et avec le pipe au milieu.

Ça semble être un bug : https://bugs.launchpad.net/ubuntu/+sour … ug/1247137

Hors ligne

#3 Le 02/04/2014, à 22:36

kurapika29

Re : [Pas solve mais contourné] Souci avec sed ou erreur de ma part

Bon je suis pas fou alors, ça me rassure big_smile
Du coup le cut remet de l'ordre dans tout ça.
Merci bien tongue


Disponible sur IRC, sur le serveur irc.freenode.net salon ##ubuntu-voyager (et aussi sur plein d'autre serveur/salon)
Venez si vous avec besoin d'aide ou pour causer ;) suffit d'avoir Xchat ou un autre client IRC
Où sinon en cliquant sur se lien http://kiwiirc.com/client/irc.freenode. … tu-voyager

Hors ligne