|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : juin 2008 Messages : 273 ![]() |
Bonjour,
Je dispose d'un fichier texte très gros (15go de log). J'aimerai le trier classiquement avec 'sort -g' mais j'ai une erreur comme quoi je n'ai plus assez d'espace disque. Pourtant il m'en reste. Pour trier 15go, comment lui faut-il de place ? + de 15go ? Merci pour votre aide. |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 534 ![]() |
15 go tu pourras pas l'adresser, donc il te faut le couper, trier chaque morceau indépendamment et enfin lire le résultat.
pour édidier un fichier il faut de la place la place du fichier, de sa copie temporaire en cours d'édition et la place de l'éditeur+ses librairies donc au bas mot 30Go réparti pour la plupart sur disque et partiellement en ram (par tranche maximum de 4Go à la fois si tu es en 32bits puisque tu ne peux pas adresser plus de 4Go). bref le mieux dans ce ca aurait été d'empêcher le log de se pourrir, avec un logrotate par exemple. maintenant que le mal est fait, découpes ton fichier par tranches de 2Go, par exemple ou 4Go, et fais ton tri sur ces blocks. commande "split" pour le découpage propre et sur de ton fichier. ![]() non en fait c'est pas complexe mais un peu relou à faire, ça prend du temps quoi |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : juin 2008 Messages : 273 ![]() |
Ok merci pour tes conseils.
Un truc m'échappe si je suis ta procédure : - je split en 7x2go - je trie chacun des fichiers - je recolle mes fichiers avec un cat mais je perd le tri ?! |
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 534 ![]() |
si tu regroupes apres le tri unitaire tu perds le triage, tu dois traité les 7 fichiers en lot après le tri unitaire
donc ne pas les re-concatener. |
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : juin 2008 Messages : 273 ![]() |
Désolé je n'ai pas compris ?
|
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 534 ![]() |
en gros :
faires toto1 toto2 toto3 toto4 toto5 toto6 toto7 faire un traitement sur l'ensemble des fichiers c'est ça un traitement par lot. |
|
|
00
|
|
|
#7 |
|
Membre régulier
![]() Inscription : juin 2008 Messages : 273 ![]() |
J'ai finalement essayé une méthode "qui vaut ce qu'elle vaut" :
J'ai linké symboliquement /tmp (où la fonction sort écrit les fichiers intermédiaires au tri) vers un disque dur externe qui lui a beaucoup de place libre. Résultat, le tri est un peu plus lent vu que je travaille sur un disque externe, mais le tri a bien fonctionné ! (Je n'ai pas splité le fichier, j'ai trier sur 15go directement ^^) Merci pour votre aide en tout cas |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com