Script-bash

Résolu
Bonjour,

Bonjour,

Je voudrais "colonner" un fichier texte contenant ce genre de lignes (la génération du fichier ne peu être modifiée) :

lundi
3
mars
mardi
5
juin
dimanche
15
avril

c'est à dire récupérer ça :

lundi 3 mars
mardi 5 juin
dimanche 15 avril

Merci d'avance

10 réponses

  1. Merci jipicy,

    But, sed -i.BAK, ça me parait bizare !!
    Tu peux m'expliquer, STP
    1. Modérateur
      Ça crée une sauvegarde de ton fichier original, qui pour la circonstance est renommé en "fichier.BAK", au cas ou ... ;-))
      1. Voilà ce que cela me donne

        # sed -i.BAK '$!{N;N;s/\n/ /g}' t1.txt
        sed: unknown option -- i
        usage: sed script [-anu] [file ...]
        sed [-anu] [-e script] ... [-f script_file] ... [file ...]
        # sed '$!{N;N;s/\n/ /g}' t1.txt
        sed: 1: "$!{N;N;s/\n/ /g}": bad flag in substitute command: '}'
        1. Désolé, pas de version de sed, je bosse sous OpenBSD 4.2.
          Mais j'ai VMWare, dis moi sous quel Linux tu bosses
          1. Modérateur
            Mandriva, mais bon c'est la version de sed qui importe, et dans mon cas c'est GNU sed. Pour l'option "-i" c'est pas grave tu n'as qu'a diriger la sortie ves un autre fichier...

            Essaie comme ça sinon :
            sed '$!{N;N; :z; s/\n/ /;t z}'
            ou encore :
            sed -e '$!N;N;' -e ':z' -e ' s/\n/ /; t z'
            ;-))
            1. Super, merci beaucoup, c'est sed -e '$!N;N;' -e ':z' -e ' s/\n/ /; t z' qui a fonctionné
              :-))))