Partage
  • Partager sur Facebook
  • Partager sur Twitter

sed remplacer ligne fichier commencant par

Sujet résolu
    9 février 2024 à 16:16:56

    bonjour,

    est-il possible de remmplacer la ligne entiere d'un fichier, avec sed, mais en connaissant uniquement le début ?

    je connais :

    sed -i 's/mot1/mot2/g' mon_fichier.txt

    mais ça remplacer uniquement mot1 par mot2.

    si mon fichier contient par exemple la ligne

    mot1 toto

    je voudrais avec sed remplacer cette ligne par

    mot2 tata

    mais sans connaître toto, uniquement en spécifiant mot1



    • Partager sur Facebook
    • Partager sur Twitter
      10 février 2024 à 19:04:47

      Sed utilise des regex, il faut donc que ta regex corresponde à toute la ligne:

      sed 's/.*mot1.*/mot2 tata/'
      • Partager sur Facebook
      • Partager sur Twitter
        10 février 2024 à 19:25:25

        > est-il possible de remplacer la ligne entiere d'un fichier, avec sed, mais en connaissant uniquement le début ?

        Est-ce "exactement" le début?

        Il faudrait écrire "s/^mot1.*$/mot2 tata/"

        • Partager sur Facebook
        • Partager sur Twitter

        Le Tout est souvent plus grand que la somme de ses parties.

          10 février 2024 à 19:45:04

          parfait, ca marche

          merci a vous deux

          • Partager sur Facebook
          • Partager sur Twitter
            10 février 2024 à 21:56:06

            TagAda7 a écrit:

            parfait, ca marche

            Bonjour,

            Sujet résolu

            Tu peux passer le sujet à "résolu" (bouton en haut à droite du sujet) et cliquer sur les pouces levés des messages qui t'ont aidé⋅e ;)

            • Partager sur Facebook
            • Partager sur Twitter

            sed remplacer ligne fichier commencant par

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            • Editeur
            • Markdown