IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

[sed] Erreur non comprise


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Homme Profil pro
    développeur à la maison
    Inscrit en
    Septembre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : développeur à la maison

    Informations forums :
    Inscription : Septembre 2006
    Messages : 393
    Billets dans le blog
    16
    Par défaut [sed] Erreur non comprise
    Bonjour,

    je ne comprends pas cette erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ici
    sed: -e expression n°1, caractère 3: commande inconnue: «*m*»
    là
    echo ici/la sert à debugger
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    tmp="$(zenity --file-selection --directory --filename /media/mathieu/WALKMAN/MUSIC/)"
    echo ici
    sed -i '/'"$tmp"'/d' "$nom"
    echo
    j'ai essayé en remplaçant tmp par t et cela me fait la même chose

    une idée?

  2. #2
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 287
    Par défaut
    Bonjour

    Autant qu'on peut en juger, tu demandes la sélection d'un fichier, ou dossier, dont l'écriture du nom contiendra le caractère utilisé comme fin d'expression rationnelle : l'oblique.
    Et boom.

    Tu peux changer le caractère de début d'expression rationnelle. À toi de trouver le caractère le plus pertinent. (la contre-oblique n'est pas optionnelle)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed '\@maregex@d' fichier.txt

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 640
    Par défaut
    oui, mais, moi, j'ai un f@ichier !



    donc, vu qu'on ne sait pas ce que peut entrer l'utilisateur, on adapte ce qu'on peut contrôler.
    en bash :
    Code BASH : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -i '/'"${tmp//\//\\\/}"'/d' "$nomFichier"

    cf. man bash : ${paramètre/motif/chaîne}
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre éclairé

    Homme Profil pro
    développeur à la maison
    Inscrit en
    Septembre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : développeur à la maison

    Informations forums :
    Inscription : Septembre 2006
    Messages : 393
    Billets dans le blog
    16
    Par défaut
    @N_BaH

    merci,
    ça ne fait plus le message d'erreur mais les lignes du fichier indiqué par "$nom" ne sont pas supprimées

    une idée?

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 640
    Par défaut
    il me faudrait
    - un extrait du fichier contenant les données à modifier/supprimer
    - les données saisies

    edit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -i '/'"${tmp//\//\\/}"'/d' "$nomFichier"
    un \ en trop, mais ce n'est pas le problème.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Membre éclairé

    Homme Profil pro
    développeur à la maison
    Inscrit en
    Septembre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : développeur à la maison

    Informations forums :
    Inscription : Septembre 2006
    Messages : 393
    Billets dans le blog
    16
    Par défaut
    ça y est, ça fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    tmp="$(zenity --file-selection --directory --filename /media/"$(whoami)"/WALKMAN/MUSIC/)"
    #il n'y a qu'une ligne dans tmp
    echo $tmp>fichier
    cut -d/ -f 6- fichier>fichier2
    tmp="$(cat fichier2)"
    sed -i '/'"${tmp//\//\\/}"'/d' "$nom"

  7. #7
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    oui, mais, moi, j'ai un f@ichier !
    Et j'imagine que tu as aussi un fai[hier, voire un fai[}\\(hier, non ?


    donc, vu qu'on ne sait pas ce que peut entrer l'utilisateur, on adapte ce qu'on peut contrôler.
    en bash :
    Code BASH : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -i '/'"${tmp//\//\\\/}"'/d' "$nomFichier"

    cf. man bash : ${paramètre/motif/chaîne}
    On avait déjà eu une discussion de ce genre ici (n'est-ce pas disedorgue et balkany ?)...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. erreur non comprise dans script
    Par lebelfortain1 dans le forum Langage
    Réponses: 7
    Dernier message: 22/06/2011, 15h29
  2. Pb d'affichage.erreur non comprise
    Par l_seringa dans le forum C++Builder
    Réponses: 12
    Dernier message: 28/03/2008, 19h25
  3. Erreur non Comprise
    Par Fahmi06 dans le forum Ubuntu
    Réponses: 1
    Dernier message: 12/03/2008, 17h43
  4. Erreur non comprise
    Par PallBreak dans le forum C++
    Réponses: 5
    Dernier message: 28/02/2008, 17h10
  5. erreur non comprise cherche solution
    Par debC++ dans le forum C++
    Réponses: 12
    Dernier message: 17/06/2005, 16h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo