Partage
  • Partager sur Facebook
  • Partager sur Twitter

concaténer des fichiers

Sujet résolu
    23 mai 2016 à 13:15:21

    Bonjour à tous,

    Voilà, j'ai des fichiers (pas mal en fait) et j'aimerais les concaténer en un seul fichier, mais en ne prenant que le texte entre la 3e et l'avant-avant dernière ligne (N-3) de chaque fichier.

    J'ai cherché avec head, tail, sed sans vraiment trouver de solution directe.

    Merci d'avance

    • Partager sur Facebook
    • Partager sur Twitter
      23 mai 2016 à 14:29:35

      salut,

       sed -s -n '$d;3,$p' fichier*



      • Partager sur Facebook
      • Partager sur Twitter

      Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

        23 mai 2016 à 16:01:39

        merci, mais ça ne m'enlève pas l'avant dernière ligne...

        Tu peux m'expliquer ce que signifie la syntaxe?

        • Partager sur Facebook
        • Partager sur Twitter
          23 mai 2016 à 18:02:07

          tac tac badaboum
          $ for f in files*; do tac "$f" | head -n -2 | tac | head -n -3; done >concatenated


          et voilà !

          edit: patatras !!!

          -
          Edité par dantonq 24 mai 2016 à 1:00:50

          • Partager sur Facebook
          • Partager sur Twitter

          Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

            24 mai 2016 à 0:33:40

            Pourquoi tac ?

            for f in files*; do tail -n +3 "$f" | head -n -2 ; done

            • Partager sur Facebook
            • Partager sur Twitter
              24 mai 2016 à 0:59:36

              mauvaise foi inside :
              bien sûr, c'était pour montrer ce qu'il ne faut pas faire ?

              :euh: désolé.

              • Partager sur Facebook
              • Partager sur Twitter

              Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

                24 mai 2016 à 8:07:27

                ok, merci les gars... Je pensais qu'il existait une solution plus élégante avec sed sans passer par le pipe... Mais je retiens la boucle sur les fichiers...

                a+

                • Partager sur Facebook
                • Partager sur Twitter
                  24 mai 2016 à 14:22:37

                  sed -s -n '3,${:a;1,4!{P;N;D;};N;ba;}' files* L'élégance même... :D

                  • Partager sur Facebook
                  • Partager sur Twitter

                  concaténer des fichiers

                  × 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