Couper un fichier texte et sauvegarder

Pactoved08 Messages postés 3 Statut Membre -  
 Flog78 -
Bonjour,
je cherche une solution, pour découper un fichier texte de ce type de façon simple.
Puis ensuite sauvegarder ce qui ce trouve entre (exemple:"ams" et "***") en donnant pour extension à mon fichier sauvegarder le premier mot du bloc (donc ams) idem pour les autres bloc trouver.

Merci d'avance!

AMS
M_0001
1500
1000
500
1
ivoire
***
BLT
800
500
1
jaune
1
****

3 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Sur quel système ?
    Quel langage ?

    Sur Gnu/Linux avec "gawk" (gawk pour Windows) c'est facilement réalisable (j'ai converti les "*" en "§" comme séparateur, ça pose moins de problèmes) :

    $ cat plop # Contenu du fichier
    AMS
    M_0001
    1500
    1000
    500
    1
    ivoire
    §§§
    BLT
    800
    500
    1
    jaune
    1
    §§§

    # La syntaxe :
    $ awk 'BEGIN { RS="§§§\n" ; FS="\n" } { print $0 > $1".txt" }' plop

    $ cat AMS.txt # Contenu fichier "AMS.txt"
    AMS
    M_0001
    1500
    1000
    500
    1
    ivoire

    $ cat BLT.txt # Contenu fichier "BLT.txt"
    BLT
    800
    500
    1
    jaune
    1

    $
    0
  2. Flog78
     
    si c'est en php que tu veux lire ton fichier texte, il y a plein de tuto pour lire un fichier ligne par ligne :

    <?php
    $fp= fopen('/chemin-de-ton-fichier/file.txt', 'r');
    if ($fp)
    {
    while (!feof($fp))
    {
    $ligne = fgets($fp);
    echo $ligne;
    }
    fclose($fp);
    }
    ?>

    Ensuite si tu sais que ton bloc commence par 3 étoile, tu rajoute des if à ta sauce.
    Les tutos :
    http://www.commentcamarche.net/contents/php/phpfich.php3
    http://dev.petitchevalroux.net/php/lecture-fichier-ligne-par-ligne-php.227.html
    0
  3. Pactoved08 Messages postés 3 Statut Membre
     
    Bonjour zip31 et flog78,

    Mon langage est du vbnet
    Merci d'avance
    -1
    1. Flog78
       
      Je connais pas trop, désolé...
      0