Forum Clubic

Découper un fichier .txt en plusieurs petits fichiers .txt

Bonjour!
Voilà j’ai un petit problème, j’ai un fichier que j’ai renommé en .txt que je ne peux pas ouvrir du fait de sa taille (6.7Go!!!). J’ai essayé différents logiciels (notepad++, editpad, …) mais aucun n’accepte des fichiers de cette taille, seul PFE32 (Programmer’s File Editor) essaie de me l’ouvrir mais il me donne un fichier tronqué. Je me suis renseigné et des amis ont essayé de me l’ouvrir sous R, Tin-R, un logiciel d’OpenOffice dont je ne me rappelle plus le nom et même excel2007, rien n’y fait.
Du coup je me disais que j’essaierais bien de trouver un logiciel capable de découper mon fichier en plusieurs petits fichiers .txt, mais je n’ai rien trouvé. En effet tous ceux que j’ai essayé ne servent qu’à découper pour pouvoir envoyer par mail ou autre. Or ce que je veux ce sont différents fichiers exploitables en tant que tels et qui garderaient la structure du fichier de départ (en gros ce sont des colonnes de chiffres).
Si quelqu’un a une idée je suis plus que preneur!
Merci d’avance!

La commande unix split (tu la trouves aussi sous windows sous la forme split.exe, mais il faut que tu la télécharges) fait très bien ce genre de choses. Elle a une option (de mémoire -l) pour que la taille soit donnée en ligne et non en volume.

Edit:
sinon, tu te fais toi même ton programme
exemple
Edité le 18/12/2008 à 17:46

Ton fichier, c’est un .QUOI à l’origine ?

Citation:
La commande unix split (tu la trouves aussi sous windows sous la forme split.exe, mais il faut que tu la télécharges) fait très bien ce genre de choses. Elle a une option (de mémoire -l) pour que la taille soit donnée en ligne et non en volume.

Merci pour la réponse!
Je pense avoir trouvé sur internet la commande split.exe, maintenant j’essaie de voir comment l’implémenter sous windows (j’avoue que je ne m’y connais pas trop pour ce genre de chose)!
Du coup je vais essayer de me faire des fichiers plus petits avec ça.

Citation:
Ton fichier, c’est un .QUOI à l’origine ?

Au départ c’est un .HRU, c’est un fichier sortie du modèle SWAT.
Edité le 19/12/2008 à 09:35

Il me semble que XnView sait traiter ces fichiers…

Qu’est-ce que tu appelles implémenter ?
le fichier split.exe est une commande externe, pas besoin de l’installer
En ligne de commande, tu tapes
split -l 1000 MonFichier.txt, tu vas obtenir x fichiers (aa, ab, ac etc) de 1000 lignes chacun

Il faut bien sûr que split.exe soit accessible depuis l’environnement où tu vas le lancer.
A toi de le copier au bon endroit, ou de préciser son chemin complet pour le lancer

une piste : siteayoyo.free.fr…

Beaucoup de logiciels permettent de découper. Mais pour exploiter chaque “morceau” seul, c’est une autre histoire.

J’utilise DKoup

Quand je disais implémenter je voulais juste dire lancer.

Je ne suis pas sûr de comprendre quand tu parles de l’environnement.
En effet quand je lance la commande split.exe, j’ai une fenêtre invite de commande qui s’ouvre mais rien d’autre. Et quand je lance la fonction split -l 1000 MonFichier.txt, elle n’est pas reconnue.
Pour l’environnement j’ai copié split.exe à différents endroits dont le dossier où se trouve mon fichier de données mais peut être mon erreur vient-elle de là? Y-a-t-il un endroit spécial où le mettre?
Edité le 19/12/2008 à 11:58

1- Tu passes en mode ligne de commande (la “fenêtre DOS”) (sous xp : Démarrer > executer > cmd)
2- Tu te positionnes dans le répertoire où se trouve ton fichier à traiter, par chdir, chdir /D si tu dois aussi changer de lecteur.
Comme tu y as copié le fichier split.exe, tu es sûr qu’il est accessible
3- tu lances la commande comme indiqué plus haut

Edit : et si ça bloque quelque part, donne la commande incriminée et le message d’erreur
Edité le 19/12/2008 à 13:03

Cette fois-ci ça a marché (même si je ne comprends pas pourquoi ce n’était pas le cas lors de mes premiers essais avec la commande split)!
Merci beaucoup à vous deux pour vos conseils et surtout à gcc pour sa disponibilité, ça fait plaisir de voir qu’il y a toujours des personnes prêtes à aider les béotiens de l’informatique comme moi!
:slight_smile:

:jap:
N’oublie pas de “nettoyer” les split.exe que tu as copiés un peu partout, pour ne pas avoir de surprise la prochaine fois.

Personnellement, je range tous ces petits outils dans un dossier spécifique, et je les exécute ensuite depuis le dossier dans lequel se trouvent mes données. Ex dans ton cas, après le chdir, j’aurais fait
d:\outils\unix\split -l 1000 MonFichier.txt

Ca t’évite d’avoir à recopier l’exécutable, ou à modifier le path