Re: [HS] Deplacer un nombre important de fichiers

2002-07-18 Par sujet Yves Rutschle
On Thu, Jul 18, 2002 at 05:12:17AM +0200, Okki wrote:
> 
> > Pourquoi ne pas passer par un script ?
> > 
> 
> Ben, en posant la question, j'espérais obtenir une explication sur le
> pourquoi d'une telle limitation, et éventuellement comment y remédier,
> en changeant par exemple une valeur dans /proc ou dans les sources du
> kernel ou autre

AMHA le problème est soit une limitation de la ligne de
commande du shell ( mv * /tmp s'étend en "mv file1 file2
fil3. /tmp" donc ty récupère une ligne de dcommande trop
longue.) soit une limitation de mv, mais ça m'étonnerait.

Le paramètre que tu as essayé de changer dans /proc n'a en
fait rien à voir avec ça: c'est le nombre maximum de
descripteurs de fichiers (filehandle) donc de fichiers
ouverts en même temps. mv n'ouvre certainement pas tous les
fichiers avant de les déplacer, donc c'est pas surprenant
que ça ne change rien au problème.

/Y


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: [HS] Deplacer un nombre important de fichiers

2002-07-18 Par sujet Alain Tesio
>>>Donc voilà, j'ai un petit problème. Je souhaiterai déplacer un nombre
>>>important de fichiers (plus de 9000), mais j'ai droit à l'erreur
>>>suivante :
>>>$ mv -i --reply=no * /path/menant/au/repertoire/
>>>bash: /bin/mv: Liste d'arguments trop longue
>
> Tu peux essayer un "double tar pipé"
> (cd /chemin/source ; tar --remove-files -cf - .)| \
> (cd /chemin/dest ; tar -xf -)

Et si le deuxième plante tu perds tes fichiers ?

Je verrais plutôt ça :

find . -type f -maxdepth 1 -exec mv {} /path/menant/au/repertoire/ \;


Ou un peu plus tendance gruik contest :

find -type f -maxdepth 1 | awk '{print "mv $1 new/"}' | source /dev/stdin

Alain




-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: [HS] Deplacer un nombre important de fichiers

2002-07-18 Par sujet laurent . charles


[EMAIL PROTECTED] wrote:

Je pense que cela vient de la taille du buffer du shell...
Oui, vu que '*' est remplacé par tous les noms de fichiers et de 
répertoires trouvés.



Donc voilà, j'ai un petit problème. Je souhaiterai déplacer un nombre
important de fichiers (plus de 9000), mais j'ai droit à l'erreur
suivante :
$ mv -i --reply=no * /path/menant/au/repertoire/
bash: /bin/mv: Liste d'arguments trop longue


Tu peux essayer un "double tar pipé"
(cd /chemin/source ; tar --remove-files -cf - .)| \
(cd /chemin/dest ; tar -xf -)

--
--Laurent


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: [HS] Deplacer un nombre important de fichiers

2002-07-18 Par sujet Nicolas Évrard
* VALLIET Manu  [05:52 18/07/02]: 

On Thu, Jul 18, 2002 at 04:12:28AM +0200, Okki wrote:



Salut à tous



Salut


Donc voilà, j'ai un petit problème. Je souhaiterai déplacer un nombre
important de fichiers (plus de 9000), mais j'ai droit à l'erreur
suivante :

$ mv -i --reply=no * /path/menant/au/repertoire/
bash: /bin/mv: Liste d'arguments trop longue

J'ai passé la valeur de /proc/sys/fs/file-max à un nombre supérieur à
celui du nombre de fichiers, sans que ca change quoi que ce soit. Vais
je devoir tenté de modifier la valeur des macros NR_OPEN dans les
fichiers fs.h et limits.h des sources du kernel, puis augmenter la
valeur de la macro NR_FILE dans fs.h ou existe t il une solution plus
simple ne nécessitant pas une recompilation du kernel ? :)


Ce n'est pas une question de nombre de fichiers ouverts, mais plutôt de
la taille prise par l'ensemble des arguments.
Après un 'tit coup de google:
http://www.linuxjournal.com/article.php?sid=6060

Donc recompilation de kernel après modif' de variables nécessaire, mais
pas là où tu le croyais :-]



C'est marrant, je pensais aussi que c'était un prob de nbr d'arguments.
Alors j'ai essayé chez moi :

cd /tmp
mkdir brol; cd brol
for i in `seq 9000`; touch test$i
mv * ../

Et ça marche !! Peut-être mon shell est-il intelligent (ça m'étonnerait
qu'il aille jusque là)

Zut!! à 15000 il plante ... Dommage.

Ce poste est d'une vacuité totale, désoblé pour la bande passante.

--
(°>  Nicolas Évrard
/ )  Liège - Belgique
^^


pgpYJcdmuY3qI.pgp
Description: PGP signature


Re: [HS] Deplacer un nombre important de fichiers

2002-07-18 Par sujet Herve GAUTIER

Je pense que cela vient de la taille du buffer du shell...

Okki wrote:
> 
> Salut à tous
> 
> Donc voilà, j'ai un petit problème. Je souhaiterai déplacer un nombre
> important de fichiers (plus de 9000), mais j'ai droit à l'erreur
> suivante :
> 
> $ mv -i --reply=no * /path/menant/au/repertoire/
> bash: /bin/mv: Liste d'arguments trop longue
> 
> J'ai passé la valeur de /proc/sys/fs/file-max à un nombre supérieur à
> celui du nombre de fichiers, sans que ca change quoi que ce soit. Vais
> je devoir tenté de modifier la valeur des macros NR_OPEN dans les
> fichiers fs.h et limits.h des sources du kernel, puis augmenter la
> valeur de la macro NR_FILE dans fs.h ou existe t il une solution plus
> simple ne nécessitant pas une recompilation du kernel ? :)
> 
> Oui, je pourrai effectivement déplacer les fichiers en plusieurs fois,
> mais bon, devant accomplir de telles tâches quotidiennement, un unique
> mv serait plus simple :)
> 
> Merci d'avance
> 
> --
> To UNSUBSCRIBE, email to [EMAIL PROTECTED]
> with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

-- 
You don't dream, it's a Real Virtuality !

Professional e-mail : [EMAIL PROTECTED]
Personal e-mail : [EMAIL PROTECTED]


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: [HS] Deplacer un nombre important de fichiers

2002-07-17 Par sujet VALLIET Manu
On Thu, Jul 18, 2002 at 04:12:28AM +0200, Okki wrote:
> 
> 
> Salut à tous
> 
> Donc voilà, j'ai un petit problème. Je souhaiterai déplacer un nombre
> important de fichiers (plus de 9000), mais j'ai droit à l'erreur
> suivante :
> 
> $ mv -i --reply=no * /path/menant/au/repertoire/
> bash: /bin/mv: Liste d'arguments trop longue
> 
> J'ai passé la valeur de /proc/sys/fs/file-max à un nombre supérieur à
> celui du nombre de fichiers, sans que ca change quoi que ce soit. Vais
> je devoir tenté de modifier la valeur des macros NR_OPEN dans les
> fichiers fs.h et limits.h des sources du kernel, puis augmenter la
> valeur de la macro NR_FILE dans fs.h ou existe t il une solution plus
> simple ne nécessitant pas une recompilation du kernel ? :)

Ce n'est pas une question de nombre de fichiers ouverts, mais plutôt de
la taille prise par l'ensemble des arguments.
Après un 'tit coup de google:
http://www.linuxjournal.com/article.php?sid=6060

Donc recompilation de kernel après modif' de variables nécessaire, mais
pas là où tu le croyais :-]

-- 
Manu
// La plus perdue de toutes les journées est celle où l'on a pas ri.
// Chamfort (pas le chanteur :)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: [HS] Deplacer un nombre important de fichiers

2002-07-17 Par sujet Okki

> Pourquoi ne pas passer par un script ?
> 
> for i in ./* ; do mv -i --reply=no $i $1 ; done
> 
> Tu mets ça dans un fichier appelé mouvto, exécutable, dans ton PATH, et tu
> n'as plus qu'à taper « mouvto /path/menant/au/repertoire/ » pour déplacer
> le contenu du répertoire courant vers /path/machin. 
> 
> Ça me semble tellement évident que je suis à peu près sûr d'être passé à
> côté du problème... :-/


Ben, en posant la question, j'espérais obtenir une explication sur le
pourquoi d'une telle limitation, et éventuellement comment y remédier,
en changeant par exemple une valeur dans /proc ou dans les sources du
kernel ou autre

A défaut d'une solution au niveau de mv, je contournerai le problème en
utilisant ta méthode

Encore merci :)



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: [HS] Deplacer un nombre important de fichiers

2002-07-17 Par sujet Vazco
Le jeudi 18 juillet 2002, à 04:12, Okki écrivait :
> Donc voilà, j'ai un petit problème. Je souhaiterai déplacer un nombre
> important de fichiers (plus de 9000), mais j'ai droit à l'erreur
> suivante :
> 
> $ mv -i --reply=no * /path/menant/au/repertoire/
> bash: /bin/mv: Liste d'arguments trop longue
> 
> J'ai passé la valeur de /proc/sys/fs/file-max à un nombre supérieur à
> celui du nombre de fichiers, sans que ca change quoi que ce soit. Vais
> je devoir tenté de modifier la valeur des macros NR_OPEN dans les
> fichiers fs.h et limits.h des sources du kernel, puis augmenter la
> valeur de la macro NR_FILE dans fs.h ou existe t il une solution plus
> simple ne nécessitant pas une recompilation du kernel ? :)
> 
> Oui, je pourrai effectivement déplacer les fichiers en plusieurs fois,
> mais bon, devant accomplir de telles tâches quotidiennement, un unique
> mv serait plus simple :)

Pourquoi ne pas passer par un script ?

for i in ./* ; do mv -i --reply=no $i $1 ; done

Tu mets ça dans un fichier appelé mouvto, exécutable, dans ton PATH, et tu
n'as plus qu'à taper « mouvto /path/menant/au/repertoire/ » pour déplacer
le contenu du répertoire courant vers /path/machin. 

Ça me semble tellement évident que je suis à peu près sûr d'être passé à
côté du problème... :-/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



[HS] Deplacer un nombre important de fichiers

2002-07-17 Par sujet Okki


Salut à tous

Donc voilà, j'ai un petit problème. Je souhaiterai déplacer un nombre
important de fichiers (plus de 9000), mais j'ai droit à l'erreur
suivante :

$ mv -i --reply=no * /path/menant/au/repertoire/
bash: /bin/mv: Liste d'arguments trop longue

J'ai passé la valeur de /proc/sys/fs/file-max à un nombre supérieur à
celui du nombre de fichiers, sans que ca change quoi que ce soit. Vais
je devoir tenté de modifier la valeur des macros NR_OPEN dans les
fichiers fs.h et limits.h des sources du kernel, puis augmenter la
valeur de la macro NR_FILE dans fs.h ou existe t il une solution plus
simple ne nécessitant pas une recompilation du kernel ? :)

Oui, je pourrai effectivement déplacer les fichiers en plusieurs fois,
mais bon, devant accomplir de telles tâches quotidiennement, un unique
mv serait plus simple :)

Merci d'avance



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]