truc bizarre avec CAT ....

APPLOLIVIER

Membre confirmé
9 Octobre 2006
93
5
55
j'ai trois fichiers
RETRIEVE1
RETRIEVE2
RETRIEVE3

je veux les concatener et j'ai fait
cat RETRIEVE* > RETRIEVEALL
mais j'ai l'impression qu'il fait du recursif et je me suis retrouve avec un fichier de 1,7 go
alors que la somme est inferieur a 1 Mo
il se melange pas les pinceaux en faisant
Cat Retrieve1 retrieve2 retrieve3 retrieveall > retrieveall ???

:D
 
cat arg1 arg2 >arg3 fait que arg3 est créé, arg1 est copié ds arg3 puis arg2 est copié ds arg3

cat arg1 arg2 > arg2 fait que arg2 est ouvert en ecriture (et vidé!!), le premier caractère de arg1 y est copié, puis le second et ainsi de suite, puis arg2 est ouvert en lecture, son premier caractere est copié à la fin de arg2, puis les second et ainsi de suite.. tu aura compris que tu aura du mal a atteindre la fin du fichier!
d'ou ton pb de boucle et fichier enorme (s'il s'est arreté tt seul a 1,7Go c'est simplement que tu a du atteindre une taille max ou un tps d'execution max)

le * trie les fichiers selon un ordre ou les chiffres passent avant les lettres, en faisant ton retrieve* tu renvoie dc bien Retrieve1 retrieve2 retrieve3 retrieveall et donc le pb!
 
cat arg1 arg2 >arg3 fait que arg3 est créé, arg1 est copié ds arg3 puis arg2 est copié ds arg3

cat arg1 arg2 > arg2 fait que arg2 est ouvert en ecriture (et vidé!!), le premier caractère de arg1 y est copié, puis le second et ainsi de suite, puis arg2 est ouvert en lecture, son premier caractere est copié à la fin de arg2, puis les second et ainsi de suite.. tu aura compris que tu aura du mal a atteindre la fin du fichier!
d'ou ton pb de boucle et fichier enorme (s'il s'est arreté tt seul a 1,7Go c'est simplement que tu a du atteindre une taille max ou un tps d'execution max)

le * trie les fichiers selon un ordre ou les chiffres passent avant les lettres, en faisant ton retrieve* tu renvoie dc bien Retrieve1 retrieve2 retrieve3 retrieveall et donc le pb!
mince c vrai que cela fait 7 ans que j'ai pas fait de shell
:up: