Concaténation de fichiers

Fermé
es841 - 2 déc. 2003 à 13:43
 es841 - 5 déc. 2003 à 14:09
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
A voir également:

2 réponses

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.
0
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...
0
Bonsoir
tu peux essayer

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

A+
0
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.
0