Rechercher : dans
Par :

Concaténation de fichiers

Dernière réponse le 5 déc 2003 à 14:09:08 es841, le 2 déc 2003 à 13:43:00 
 Signaler ce message aux modérateurs

Bonjour, J'essaie de concaténer plus de 9000 fichiers (ce nombre est assez élevé et non déterminable à l'avance) dans un seul. Voici mon instruction

cat *.out >> cumul.out

le problème est qu'il me met un message d'erreur probablement parce que j'ai un nombre de fichiers trop élevé (au niveau volume, il ne font que 2Ko maxi).

le message est le suivant :

"Argument list too long"

Si le nombre de fichier est plus petit => OK.

Comment écrire mon script afin de m'en sortir?

D'avance merci

es841

Meilleures réponses pour « Concaténation de fichiers » dans :
Fichier ISO (Image ISO) VoirFormat ISO Un fichier possédant l'extension .ISO est une image ISO, c'est-à-dire une image d'un disque (CD, DVD ou disque dur) sous forme de fichier, créer avec un logiciel de gravure. Comment lire un fichier ISO ? En l'absence de graveur, il...
Apache - Les fichiers .htaccess VoirLes fichiers .htaccess sont des fichiers de configuration d'Apache, permettant de définir des règles dans un répertoire et dans tous ses sous-répertoires (qui n'ont pas de tel fichier à l'intérieur). On peut les utiliser pour protéger un répertoire...
Partage de fichiers sous Windows XP VoirIntérêt Le partage de fichiers consiste à rendre disponible à travers le réseau le contenu d'un ou plusieurs répertoires. Tous les systèmes Windows possèdent en standard des mécanismes permettant de mettre facilement en partage le...

1

dje-dje, le 2 déc 2003 à 14:22:30

Au niveau du principe (je ne sais pas le faire en shell moi-meme), il faudrait peut-etre que tu concatènes tes fichiers 10 par 10 ( ou 100 par 100 ou meme 1000 par 1000 selon les capacités de la commande) dans un espace temporaire. Puis tu concatenes les fichiers résultants.

Répondre à dje-dje

2

es841, le 2 déc 2003 à 16:14:06

C'est mon idée de concaténer par 1000 dans des fichiers temporaires, mais je ne sais pas comment faire au niveau d'un script linux...

Répondre à es841

3

phil, le 4 déc 2003 à 00:22:19

Bonsoir
tu peux essayer

for i in *.out
do
cat $i >> cumul.out
done

A+

Répondre à phil

4

 es841, le 5 déc 2003 à 14:09:08

Ok, cela fonctionne parfaitement...
mais comme toute médaille à son revers, c'est beaucoup plus lent (en effet, il doit réalouer le fichier à chacune des occurences...).

Merci pour l'info.

es841.

Répondre à es841