Couper un fichier texte et sauvegarder
Pactoved08
Messages postés
3
Statut
Membre
-
Flog78 -
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
****
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
****
A voir également:
- Couper un fichier texte et sauvegarder
- Fichier bin - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
3 réponses
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
$
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
$
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
<?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