Aller au contenu

Découper un fichier texte (.TXT)


rebcao

Messages recommandés

Bonjour,

 

J'ai trouvé le programme SPLIT.EXE, pour découper un fichier .TXT... Mais il découpe en X fichiers de N lignes !!!

 

Problème ça peut créer plus de 40 000 fichiers....

 

Ce que je cherche c'est un programme qui permette par exemple, de créer un nouveau fichier texte à partir de la ligne 15 et jusqu'à la dernière ligne....

 

Exemple de syntaxe:

 

SPLIT.EXE FIC.TXT (fichier source) 10 (début ligne) FIN (dernière ligne) EXPORT.TXT (fichier de sortie)

 

Ou plus simplement COUPER le fichier en 2 à partir du N° de ligne indiuqué...

 

Avez-vous une idée de programme existant ?

 

Je vous remercie

 

Christian

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Lien vers le commentaire
Partager sur d’autres sites

Salut Christian,

 

Ça peut se faire avec une commande DOS standard :

 

more source.txt +15 > destination.txt

 

permet de récupérer dans destination.txt le contenu de source.txt à partir de la ligne 16 (logique Microsoft...).

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Merci pour cette suggestion... Je vais regarder ça de prêt !

 

Et si je veux le fichier de la ligne 1 à 15 ça donnerait quoi ? Je suppose qu'il y a une aide avec les options ?

 

 

Je te remercie

 

Christian

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Pour l'aide de la commande, c'est :

more /?

Malheureusement les commandes DOS sont très limitées je trouve (pas trouvé comment récupérer les 15 premières lignes)...

 

Les commandes GNU (Unix/Linux) sont plus puissantes, et on peut les utiliser sous Windows en installant GnuWin.

Le package CoreUtils suffira pour avoir les commandes de manipulation de textes :

- head pour récupérer les n premières lignes

- tail pour récupérer les n dernières lignes.

 

Je suppose qu'il doit bien exister un programme qui fasse tout ça, il faut juste le trouver... <_<

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Essaye ce petit exe.

Ligne de commande pour copier les lignes 3 à 12 de source.txt dans target.txt :

textsplit source.txt 3 12 target.txt

 

: j'ai modifié le code et le fichier en téléchargement (CF ci-dessous)

La ligne de commande :

textsplit fichierSource ligneDépart [ligneFin] fichierCible

Arguments :

fichiersource : chemin du fichier à lire

ligneDépart : l'index de la première ligne à copier (base 1)

ligneFin : (optionnel ) l'index de la dernière ligne à copier, si cet argument est omis le fichier source est copié jusqu'à la fin

fichierCible : chemin du fichier à écrire (écrase un fichier existant de même nom)

 

On est pas dans le bon forum, mais je mets quand même le code (C#).

 

using System.IO;
using System.Text;

namespace Gile.TextSplit
{
   class Program
   {
       static void Main(string[] args)
       {
           int cnt = args.Length;
           string source = args[0];
           string target = args[cnt - 1];
           int start = int.Parse(args[1]) - 1;
           int i = 0;
           using (StreamReader sr = new StreamReader(source, Encoding.Default))
           using (StreamWriter sw = new StreamWriter(target, false))
           {
               for (; i < start; i++)
               {
                   sr.ReadLine();
               }
               if (args.Length == 3)
               {
                   while (sr.Peek() > -1)
                   {
                       sw.WriteLine(sr.ReadLine());
                   }
               }
               else
               {
                   int end = int.Parse(args[2]);
                   while (sr.Peek() > -1 && i < end)
                   {
                       sw.WriteLine(sr.ReadLine());
                       i++;
                   }
               }
           }
       }
   }
}

Textsplit.zip

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Gilles,

 

Je te remercie...

 

Une question quelle serait la syntaxe si je veux extraire de la ligne 15 à la FIN du fichier ?

 

Je te remercie.

 

Christian

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

 

Super, ça marche...

 

Juste pour info, (c'est pas grave) si on ne respecte pas la syntaxe, TEXTSPLIT plante violement ! On a qu'à faire gaffe !

 

sinon, c'est nickel... ça va enfin me permettre d'IMPORTER et d'EXPORTER des CHAMPS avec les versions LT... :blink: Tu va me dire quel rapport ?! AH ! AH ! :rolleyes:

 

Tu m'envoies la note ! :)

 

Christian

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité