Forum Programmation.shell Génération de plusieurs fichiers avec un petit script shell

Posté par  .
Étiquettes : aucune
0
4
jan.
2006
Salut

Je cherche à faire un petit script shell qui me permet à partir d'un fichier de générer 4 fichiers de la façon suivante :
ligne1 dans fichier1
ligne2 dans fichier2
ligne3 dans fichier3
ligne4 dans fichier4
ligne5 dans fichier1
ligne6 dans fichier2
...

J'avoue que je ne sais pas vraiment par ou commencer.
Merci par avance de toute l'aide que vous pouvez m'apporter.
  • # Attention

    Posté par  (site web personnel) . Évalué à 5.

    En directe live voila mon script de la mort qui tue que je sais meme pas si ca va marcher:
    i=0 ; while read ligne;do
    i=$[++i]
    echo $ligne > sortie$i
    if [ $i -eq 4 ];
    then i=0;
    fi
    done < lefichier d'entree
  • # Ca se voit que c'est la rentrée ....

    Posté par  . Évalué à 2.

    On fait faire son TP par les autres?
    • [^] # Re: Ca se voit que c'est la rentrée ....

      Posté par  . Évalué à 2.

      En awk:

      {
      FileName="File"

      FileNumber=(NR)%4

      if (FileNumber == 0) {FileNumber=4}
      print $0 > FileName FileNumber
      }
    • [^] # Re: Ca se voit que c'est la rentrée ....

      Posté par  . Évalué à 1.

      Ben non, je ne fais pas faire mon TP par les autres, j'ai un listing d'environ 70000 lignes à étudier et mon patron m'a demandé de séparer les résultats de 4 sondes différentes qui sont tous dans le même fichier et évidement écrit ligne par ligne. N'ayant presque jamais écrit de script (hormis un petit export ou ls) je me retrouve dans la "m....".
      Mais merci quand même
      • [^] # Re: Ca se voit que c'est la rentrée ....

        Posté par  . Évalué à 3.

        si chacune de tes sondes affiche une chaine caractéristique (ce qui serait une bonne idée), tu peux aussi t'en sortir avec 4 grep
      • [^] # Re: Ca se voit que c'est la rentrée ....

        Posté par  . Évalué à 3.

        Remarque que j'ai pose la question ( sans etre mechant) parce que ton probleme ressemble a ce que l'on peut donner en TP, et que certains tentent de faire faire leurs TP aux autres J'avais oublie de mettre la reponse en awk dans mon message d'origine.

        La solution que je t'ai donnee marche ( je l'ai testee au taf sous AIX). Pour l'executer, tu cree un fichier monscript.awk avec ce que je t'ai donne ci-dessus et tu appelle awk -f monscript.awk fichier_sorce.

        Un peu plus d'infos sur awk sont disponibles il me semble sur lea-linux.org, ou alors tu fais une recherche sur google et tu devrais pouvouir trouver un tutoriel a destination des debutants.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.