Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Shell] Commande sed substitute

Sujet résolu
    18 septembre 2017 à 16:05:41

    Salut tout le monde,

    Alors voilà j'ai me pose une petite question par rapport à la commande sed.

    Exemple pratique :

    Je souhaite afficher des fichier .sh en n'ayant que le nom du fichier sans le .sh et sans l'adresse avant donc avec la commande suivante ça fonctionne très bien :

    find -name "*.sh" | sed 's/.sh//g' | sed 's/.*\///g' 


    Mais je me demande s'il est possible d'utiliser une autre logique avec la démarche suivante :


    sed 's/ Ici je récupère les lignes se terminant par .sh -> .*\.sh$ / Ensuite je souhaiterais ici utiliser une Regex afin de récupérer la chaine de caractère avant le .sh -> \/(w+)\.sh$ /g'

    Est ce que ma démarche est possible et est-il possible d'utiliser une regex comme chaîne de remplissage d'un substitute d'une fonction sed.

    Commande s : s/exp_reg/chaîne_remp/[option]

    Merci.

    • Partager sur Facebook
    • Partager sur Twitter
      18 septembre 2017 à 17:15:22

      J'ai pas très bien comprit, mais quelque chose comme sed -E 's#/(w+)\.sh$#\1#g' ?

      au passage sed 's/.sh//g' | sed 's/.*\///g' -> sed 's/.sh//g;s/.*\///g'

      • Partager sur Facebook
      • Partager sur Twitter
        18 septembre 2017 à 17:28:31

        C'est exactement ça l'idée mais ça ne fonctionne pas bizarre :(
        • Partager sur Facebook
        • Partager sur Twitter
          18 septembre 2017 à 22:56:30

          Je ne pas essayé à vrai dire, par contre, les méta-caractères son préfixés d'un slash w -> \w

          • Partager sur Facebook
          • Partager sur Twitter
            19 septembre 2017 à 9:10:11

            C'est bon j'ai trouvé la solution y avait juste un petit oublie :

            's#.*/(.*)\.sh$#\1#g' 

            Merci beaucoup :)

            -
            Edité par Nas_nas 19 septembre 2017 à 9:13:32

            • Partager sur Facebook
            • Partager sur Twitter

            [Shell] Commande sed substitute

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown