Bonsoir,
J'ai un répertoire contenant 10G de données réparties en p etit
fichier (genre 50 ko, donc ça fait *beaucoup* de fichiers). Je
désire effacer tous les fichiers. Mais :
$ rm *
bash: /bin/rm: Liste d'arguments trop longue
[...]
Enfin ! Donc le nombre d'arguments est au plus de 5982. Ce qui
me mène à me poser deux questions :
1- quelle est le nombre maximal ? comment le trouver ?
2- comment m'en affranchir dans mon cas ?
Merci pour vos réponses et bonne fin de semaine.
Bonsoir,
J'ai un répertoire contenant 10G de données réparties en p etit
fichier (genre 50 ko, donc ça fait *beaucoup* de fichiers). Je
désire effacer tous les fichiers. Mais :
$ rm *
bash: /bin/rm: Liste d'arguments trop longue
[...]
Enfin ! Donc le nombre d'arguments est au plus de 5982. Ce qui
me mène à me poser deux questions :
1- quelle est le nombre maximal ? comment le trouver ?
2- comment m'en affranchir dans mon cas ?
Merci pour vos réponses et bonne fin de semaine.
Bonsoir,
J'ai un répertoire contenant 10G de données réparties en p etit
fichier (genre 50 ko, donc ça fait *beaucoup* de fichiers). Je
désire effacer tous les fichiers. Mais :
$ rm *
bash: /bin/rm: Liste d'arguments trop longue
[...]
Enfin ! Donc le nombre d'arguments est au plus de 5982. Ce qui
me mène à me poser deux questions :
1- quelle est le nombre maximal ? comment le trouver ?
2- comment m'en affranchir dans mon cas ?
Merci pour vos réponses et bonne fin de semaine.
[...]
find . -type t -print0 | xargs -0 rm
[...]
find . -type t -print0 | xargs -0 rm
[...]
find . -type t -print0 | xargs -0 rm
Steve, vendredi 23 mars 2007, 18:13:48 CET
> Bonsoir,
'soir,
> J'ai un répertoire contenant 10G de données réparties en petit
> fichier (genre 50 ko, donc ça fait *beaucoup* de fichiers). Je
> désire effacer tous les fichiers. Mais :
>
> $ rm *
> bash: /bin/rm: Liste d'arguments trop longue
>[...]
> Enfin ! Donc le nombre d'arguments est au plus de 5982. Ce qui
> me mène à me poser deux questions :
>
> 1- quelle est le nombre maximal ? comment le trouver ?
C'est plus la taille (en caractères) que le nombre.
Pour connaître cette limite, tu peux lire les sources de bash...
> 2- comment m'en affranchir dans mon cas ?
Les tubes n'ont pas ce genre de limite :
ls | xargs rm
ou
find . -type f -print0 | xargs -0 rm
si des espaces se cachent dans les noms de fichiers.
> Merci pour vos réponses et bonne fin de semaine.
Itou.
Steve, vendredi 23 mars 2007, 18:13:48 CET
> Bonsoir,
'soir,
> J'ai un répertoire contenant 10G de données réparties en petit
> fichier (genre 50 ko, donc ça fait *beaucoup* de fichiers). Je
> désire effacer tous les fichiers. Mais :
>
> $ rm *
> bash: /bin/rm: Liste d'arguments trop longue
>[...]
> Enfin ! Donc le nombre d'arguments est au plus de 5982. Ce qui
> me mène à me poser deux questions :
>
> 1- quelle est le nombre maximal ? comment le trouver ?
C'est plus la taille (en caractères) que le nombre.
Pour connaître cette limite, tu peux lire les sources de bash...
> 2- comment m'en affranchir dans mon cas ?
Les tubes n'ont pas ce genre de limite :
ls | xargs rm
ou
find . -type f -print0 | xargs -0 rm
si des espaces se cachent dans les noms de fichiers.
> Merci pour vos réponses et bonne fin de semaine.
Itou.
Steve, vendredi 23 mars 2007, 18:13:48 CET
> Bonsoir,
'soir,
> J'ai un répertoire contenant 10G de données réparties en petit
> fichier (genre 50 ko, donc ça fait *beaucoup* de fichiers). Je
> désire effacer tous les fichiers. Mais :
>
> $ rm *
> bash: /bin/rm: Liste d'arguments trop longue
>[...]
> Enfin ! Donc le nombre d'arguments est au plus de 5982. Ce qui
> me mène à me poser deux questions :
>
> 1- quelle est le nombre maximal ? comment le trouver ?
C'est plus la taille (en caractères) que le nombre.
Pour connaître cette limite, tu peux lire les sources de bash...
> 2- comment m'en affranchir dans mon cas ?
Les tubes n'ont pas ce genre de limite :
ls | xargs rm
ou
find . -type f -print0 | xargs -0 rm
si des espaces se cachent dans les noms de fichiers.
> Merci pour vos réponses et bonne fin de semaine.
Itou.
Bonsoir,
J'ai un répertoire contenant 10G de données réparties en petit fichier (genre
50 ko, donc ça fait *beaucoup* de fichiers). Je désire effacer tous les
fichiers. Mais :
$ rm *
bash: /bin/rm: Liste d'arguments trop longue
$ rm 3*
bash: /bin/rm: Liste d'arguments trop longue
$ rm 31*
bash: /bin/rm: Liste d'arguments trop longue
etc...
.
.
Finalement
$ rm 32-20070322231 «tab»
Display all 5982 possibilities? (y or n)n
(me dis que c'est bon .., mais)
$ rm 32-20070322231*
bash: /bin/rm: Liste d'arguments trop longue
$ rm 32-20070322231 «tab»
Display all 600 possibilities? (y or n)n
$ rm 32-200703222311*
$
Enfin ! Donc le nombre d'arguments est au plus de 5982. Ce qui me mÚne à me
poser deux questions :
1- quelle est le nombre maximal ? comment le trouver ?
2- comment m'en affranchir dans mon cas ?
Merci pour vos réponses et bonne fin de semaine.
Bonsoir,
J'ai un répertoire contenant 10G de données réparties en petit fichier (genre
50 ko, donc ça fait *beaucoup* de fichiers). Je désire effacer tous les
fichiers. Mais :
$ rm *
bash: /bin/rm: Liste d'arguments trop longue
$ rm 3*
bash: /bin/rm: Liste d'arguments trop longue
$ rm 31*
bash: /bin/rm: Liste d'arguments trop longue
etc...
.
.
Finalement
$ rm 32-20070322231 «tab»
Display all 5982 possibilities? (y or n)n
(me dis que c'est bon .., mais)
$ rm 32-20070322231*
bash: /bin/rm: Liste d'arguments trop longue
$ rm 32-20070322231 «tab»
Display all 600 possibilities? (y or n)n
$ rm 32-200703222311*
$
Enfin ! Donc le nombre d'arguments est au plus de 5982. Ce qui me mÚne à me
poser deux questions :
1- quelle est le nombre maximal ? comment le trouver ?
2- comment m'en affranchir dans mon cas ?
Merci pour vos réponses et bonne fin de semaine.
Bonsoir,
J'ai un répertoire contenant 10G de données réparties en petit fichier (genre
50 ko, donc ça fait *beaucoup* de fichiers). Je désire effacer tous les
fichiers. Mais :
$ rm *
bash: /bin/rm: Liste d'arguments trop longue
$ rm 3*
bash: /bin/rm: Liste d'arguments trop longue
$ rm 31*
bash: /bin/rm: Liste d'arguments trop longue
etc...
.
.
Finalement
$ rm 32-20070322231 «tab»
Display all 5982 possibilities? (y or n)n
(me dis que c'est bon .., mais)
$ rm 32-20070322231*
bash: /bin/rm: Liste d'arguments trop longue
$ rm 32-20070322231 «tab»
Display all 600 possibilities? (y or n)n
$ rm 32-200703222311*
$
Enfin ! Donc le nombre d'arguments est au plus de 5982. Ce qui me mÚne à me
poser deux questions :
1- quelle est le nombre maximal ? comment le trouver ?
2- comment m'en affranchir dans mon cas ?
Merci pour vos réponses et bonne fin de semaine.
Le vendredi 23 mars 2007 18:28, Sylvain Sauvage a écrit :Steve, vendredi 23 mars 2007, 18:13:48 CETBonsoir,
'soir,J'ai un répertoire contenant 10G de données réparties en petit
fichier (genre 50 ko, donc ça fait *beaucoup* de fichiers). Je
désire effacer tous les fichiers. Mais :
$ rm *
bash: /bin/rm: Liste d'arguments trop longue
[...]
Enfin ! Donc le nombre d'arguments est au plus de 5982. Ce qui
me mène à me poser deux questions :
1- quelle est le nombre maximal ? comment le trouver ?
C'est plus la taille (en caractères) que le nombre.
donc, si je comprends bien, si j'ai par exemple 3 fichier de 5 caractères de
long chacun, le * aurait 15 caractères (sans compter les espaces) et c'est
cette longueur qui est limitée à quelque chose de plus petit que mon 5982 (vu
que là c'est le nombre de fichiers, qui font eux au moins un caratère de
long). (j'espère que c'est clair pour tout le monde...)Pour connaître cette limite, tu peux lire les sources de bash...
Quelle bonne idée, je n'avais rien à faire ce soir ;-) Même pas une petite
idée (en passant) ?2- comment m'en affranchir dans mon cas ?
Les tubes n'ont pas ce genre de limite :
ls | xargs rm
$ ls 31* | xargs rm
bash: /bin/ls: Liste d'arguments trop longue
rm: opérande manquante
ou
find . -type f -print0 | xargs -0 rm
si des espaces se cachent dans les noms de fichiers.
ça rm, on dirait ...Merci pour vos réponses et bonne fin de semaine.
Itou.
Merci
Le vendredi 23 mars 2007 18:28, Sylvain Sauvage a écrit :
Steve, vendredi 23 mars 2007, 18:13:48 CET
Bonsoir,
'soir,
J'ai un répertoire contenant 10G de données réparties en petit
fichier (genre 50 ko, donc ça fait *beaucoup* de fichiers). Je
désire effacer tous les fichiers. Mais :
$ rm *
bash: /bin/rm: Liste d'arguments trop longue
[...]
Enfin ! Donc le nombre d'arguments est au plus de 5982. Ce qui
me mène à me poser deux questions :
1- quelle est le nombre maximal ? comment le trouver ?
C'est plus la taille (en caractères) que le nombre.
donc, si je comprends bien, si j'ai par exemple 3 fichier de 5 caractères de
long chacun, le * aurait 15 caractères (sans compter les espaces) et c'est
cette longueur qui est limitée à quelque chose de plus petit que mon 5982 (vu
que là c'est le nombre de fichiers, qui font eux au moins un caratère de
long). (j'espère que c'est clair pour tout le monde...)
Pour connaître cette limite, tu peux lire les sources de bash...
Quelle bonne idée, je n'avais rien à faire ce soir ;-) Même pas une petite
idée (en passant) ?
2- comment m'en affranchir dans mon cas ?
Les tubes n'ont pas ce genre de limite :
ls | xargs rm
$ ls 31* | xargs rm
bash: /bin/ls: Liste d'arguments trop longue
rm: opérande manquante
ou
find . -type f -print0 | xargs -0 rm
si des espaces se cachent dans les noms de fichiers.
ça rm, on dirait ...
Merci pour vos réponses et bonne fin de semaine.
Itou.
Merci
Le vendredi 23 mars 2007 18:28, Sylvain Sauvage a écrit :Steve, vendredi 23 mars 2007, 18:13:48 CETBonsoir,
'soir,J'ai un répertoire contenant 10G de données réparties en petit
fichier (genre 50 ko, donc ça fait *beaucoup* de fichiers). Je
désire effacer tous les fichiers. Mais :
$ rm *
bash: /bin/rm: Liste d'arguments trop longue
[...]
Enfin ! Donc le nombre d'arguments est au plus de 5982. Ce qui
me mène à me poser deux questions :
1- quelle est le nombre maximal ? comment le trouver ?
C'est plus la taille (en caractères) que le nombre.
donc, si je comprends bien, si j'ai par exemple 3 fichier de 5 caractères de
long chacun, le * aurait 15 caractères (sans compter les espaces) et c'est
cette longueur qui est limitée à quelque chose de plus petit que mon 5982 (vu
que là c'est le nombre de fichiers, qui font eux au moins un caratère de
long). (j'espère que c'est clair pour tout le monde...)Pour connaître cette limite, tu peux lire les sources de bash...
Quelle bonne idée, je n'avais rien à faire ce soir ;-) Même pas une petite
idée (en passant) ?2- comment m'en affranchir dans mon cas ?
Les tubes n'ont pas ce genre de limite :
ls | xargs rm
$ ls 31* | xargs rm
bash: /bin/ls: Liste d'arguments trop longue
rm: opérande manquante
ou
find . -type f -print0 | xargs -0 rm
si des espaces se cachent dans les noms de fichiers.
ça rm, on dirait ...Merci pour vos réponses et bonne fin de semaine.
Itou.
Merci
[...]
donc, si je comprends bien, si j'ai par exemple 3 fichier de 5
caractères de long chacun, le * aurait 15 caractères (sans
compter les espaces)
et c'est cette longueur qui est limitée Ã
quelque chose de plus petit que mon 5982 (vu que là c'est le
nombre de fichiers, qui font eux au moins un caratère de
long). (j'espère que c'est clair pour tout le monde...)
> Pour connaître cette limite, tu peux lire les sources de
> bash...
Quelle bonne idée, je n'avais rien à faire ce soir ;-)
Même pas une petite idée (en passant) ?
> > 2- comment m'en affranchir dans mon cas ?
>
> Les tubes n'ont pas ce genre de limite :
> ls | xargs rm
$ ls 31* | xargs rm
bash: /bin/ls: Liste d'arguments trop longue
rm: opérande manquante
> ou
> find . -type f -print0 | xargs -0 rm
> si des espaces se cachent dans les noms de fichiers.
ça rm, on dirait ...
[...]
donc, si je comprends bien, si j'ai par exemple 3 fichier de 5
caractères de long chacun, le * aurait 15 caractères (sans
compter les espaces)
et c'est cette longueur qui est limitée Ã
quelque chose de plus petit que mon 5982 (vu que là c'est le
nombre de fichiers, qui font eux au moins un caratère de
long). (j'espère que c'est clair pour tout le monde...)
> Pour connaître cette limite, tu peux lire les sources de
> bash...
Quelle bonne idée, je n'avais rien à faire ce soir ;-)
Même pas une petite idée (en passant) ?
> > 2- comment m'en affranchir dans mon cas ?
>
> Les tubes n'ont pas ce genre de limite :
> ls | xargs rm
$ ls 31* | xargs rm
bash: /bin/ls: Liste d'arguments trop longue
rm: opérande manquante
> ou
> find . -type f -print0 | xargs -0 rm
> si des espaces se cachent dans les noms de fichiers.
ça rm, on dirait ...
[...]
donc, si je comprends bien, si j'ai par exemple 3 fichier de 5
caractères de long chacun, le * aurait 15 caractères (sans
compter les espaces)
et c'est cette longueur qui est limitée Ã
quelque chose de plus petit que mon 5982 (vu que là c'est le
nombre de fichiers, qui font eux au moins un caratère de
long). (j'espère que c'est clair pour tout le monde...)
> Pour connaître cette limite, tu peux lire les sources de
> bash...
Quelle bonne idée, je n'avais rien à faire ce soir ;-)
Même pas une petite idée (en passant) ?
> > 2- comment m'en affranchir dans mon cas ?
>
> Les tubes n'ont pas ce genre de limite :
> ls | xargs rm
$ ls 31* | xargs rm
bash: /bin/ls: Liste d'arguments trop longue
rm: opérande manquante
> ou
> find . -type f -print0 | xargs -0 rm
> si des espaces se cachent dans les noms de fichiers.
ça rm, on dirait ...
Bonsoir,
J'ai un répertoire contenant 10G de données réparties en p etit fichier (genre
50 ko, donc ça fait *beaucoup* de fichiers). Je désire effacer tous les
fichiers. Mais :
$ rm *
bash: /bin/rm: Liste d'arguments trop longue
$ rm 3*
bash: /bin/rm: Liste d'arguments trop longue
$ rm 31*
bash: /bin/rm: Liste d'arguments trop longue
etc...
.
.
Enfin ! Donc le nombre d'arguments est au plus de 5982. Ce qui me mè ne à me
poser deux questions :
1- quelle est le nombre maximal ? comment le trouver ?
2- comment m'en affranchir dans mon cas ?
Bonsoir,
J'ai un répertoire contenant 10G de données réparties en p etit fichier (genre
50 ko, donc ça fait *beaucoup* de fichiers). Je désire effacer tous les
fichiers. Mais :
$ rm *
bash: /bin/rm: Liste d'arguments trop longue
$ rm 3*
bash: /bin/rm: Liste d'arguments trop longue
$ rm 31*
bash: /bin/rm: Liste d'arguments trop longue
etc...
.
.
Enfin ! Donc le nombre d'arguments est au plus de 5982. Ce qui me mè ne à me
poser deux questions :
1- quelle est le nombre maximal ? comment le trouver ?
2- comment m'en affranchir dans mon cas ?
Bonsoir,
J'ai un répertoire contenant 10G de données réparties en p etit fichier (genre
50 ko, donc ça fait *beaucoup* de fichiers). Je désire effacer tous les
fichiers. Mais :
$ rm *
bash: /bin/rm: Liste d'arguments trop longue
$ rm 3*
bash: /bin/rm: Liste d'arguments trop longue
$ rm 31*
bash: /bin/rm: Liste d'arguments trop longue
etc...
.
.
Enfin ! Donc le nombre d'arguments est au plus de 5982. Ce qui me mè ne à me
poser deux questions :
1- quelle est le nombre maximal ? comment le trouver ?
2- comment m'en affranchir dans mon cas ?
Le 13595ième jour après Epoch,
> Enfin ! Donc le nombre d'arguments est au plus de 5982. Ce qui me mà ¨ne Ã
> me poser deux questions :
>
> 1- quelle est le nombre maximal ? comment le trouver ?
Je ne sais pas le max, mais ça doit être marqué dans bash, non? :)
> 2- comment m'en affranchir dans mon cas ?
$ cd ..
$ rm -fr ton_répertoire
$ mkdir ton_répertoire
avec en plus un changement d'owner et de droits pour le rép. en
question.
Ou alors
$ set -f
$ rm *
Les autres commandes qui t'ont été proposées, à base de find et autre
xargs marchent aussi bien sûr, mais me semblent plus ... compliquà ©es
dans ton cas :)
Le 13595ième jour après Epoch,
> Enfin ! Donc le nombre d'arguments est au plus de 5982. Ce qui me mà ¨ne Ã
> me poser deux questions :
>
> 1- quelle est le nombre maximal ? comment le trouver ?
Je ne sais pas le max, mais ça doit être marqué dans bash, non? :)
> 2- comment m'en affranchir dans mon cas ?
$ cd ..
$ rm -fr ton_répertoire
$ mkdir ton_répertoire
avec en plus un changement d'owner et de droits pour le rép. en
question.
Ou alors
$ set -f
$ rm *
Les autres commandes qui t'ont été proposées, à base de find et autre
xargs marchent aussi bien sûr, mais me semblent plus ... compliquà ©es
dans ton cas :)
Le 13595ième jour après Epoch,
> Enfin ! Donc le nombre d'arguments est au plus de 5982. Ce qui me mà ¨ne Ã
> me poser deux questions :
>
> 1- quelle est le nombre maximal ? comment le trouver ?
Je ne sais pas le max, mais ça doit être marqué dans bash, non? :)
> 2- comment m'en affranchir dans mon cas ?
$ cd ..
$ rm -fr ton_répertoire
$ mkdir ton_répertoire
avec en plus un changement d'owner et de droits pour le rép. en
question.
Ou alors
$ set -f
$ rm *
Les autres commandes qui t'ont été proposées, à base de find et autre
xargs marchent aussi bien sûr, mais me semblent plus ... compliquà ©es
dans ton cas :)
Steve, vendredi 23 mars 2007, 18:45:42 CET
>[...]
> donc, si je comprends bien, si j'ai par exemple 3 fichier de 5
> caractères de long chacun, le * aurait 15 caractères (sans
> compter les espaces)
Si, les espaces sont comptés, soit en tant que tels, soit comme
des caractères de terminaison ( ).
> et c'est cette longueur qui est limitée Ã
> quelque chose de plus petit que mon 5982 (vu que là c'est le
> nombre de fichiers, qui font eux au moins un caratère de
> long). (j'espère que c'est clair pour tout le monde...)
Tu as 5982 noms de fichiers qui représentent au moins environ
12 000 caractères (un caractère par nom, plus le ). On ne pe ut
rien déduire de la taille limite de la ligne de commande à part ir
de ça, car on a :
|ta ligne| > limite
et
|ta ligne| > 12 000
En revanche, on peut dire que ta ligne a, au plus, environ
120 000 caractères (une vingtaine de caractères par nom, avec 0 ).
Et donc la limite se situe en dessous de 120 000 caractères :
|ta ligne| < 120 000
et
|ta ligne| > limite
donc
limite < 120 000
(si lâestimation dâune vingtaine de caractères par n om au max est
correcte).
> > Pour connaître cette limite, tu peux lire les sources de
> > bash...
>
> Quelle bonne idée, je n'avais rien à faire ce soir ;-)
> Même pas une petite idée (en passant) ?
Juste parce que j'aime les chiffres ronds : 64 ko ?
> > > 2- comment m'en affranchir dans mon cas ?
> >
> > Les tubes n'ont pas ce genre de limite :
> > ls | xargs rm
>
> $ ls 31* | xargs rm
> bash: /bin/ls: Liste d'arguments trop longue
> rm: opérande manquante
Normal, la commande « ls 31* » met aussi les noms de fichie rs
dans la ligne de commande. Mon exemple était « ls », et, lui, il
ne comporte que « ls » dans la ligne de commande.
> > ou
> > find . -type f -print0 | xargs -0 rm
> > si des espaces se cachent dans les noms de fichiers.
>
> ça rm, on dirait ...
C'est fait pour ;o)
Steve, vendredi 23 mars 2007, 18:45:42 CET
>[...]
> donc, si je comprends bien, si j'ai par exemple 3 fichier de 5
> caractères de long chacun, le * aurait 15 caractères (sans
> compter les espaces)
Si, les espaces sont comptés, soit en tant que tels, soit comme
des caractères de terminaison ( ).
> et c'est cette longueur qui est limitée Ã
> quelque chose de plus petit que mon 5982 (vu que là c'est le
> nombre de fichiers, qui font eux au moins un caratère de
> long). (j'espère que c'est clair pour tout le monde...)
Tu as 5982 noms de fichiers qui représentent au moins environ
12 000 caractères (un caractère par nom, plus le ). On ne pe ut
rien déduire de la taille limite de la ligne de commande à part ir
de ça, car on a :
|ta ligne| > limite
et
|ta ligne| > 12 000
En revanche, on peut dire que ta ligne a, au plus, environ
120 000 caractères (une vingtaine de caractères par nom, avec 0 ).
Et donc la limite se situe en dessous de 120 000 caractères :
|ta ligne| < 120 000
et
|ta ligne| > limite
donc
limite < 120 000
(si lâestimation dâune vingtaine de caractères par n om au max est
correcte).
> > Pour connaître cette limite, tu peux lire les sources de
> > bash...
>
> Quelle bonne idée, je n'avais rien à faire ce soir ;-)
> Même pas une petite idée (en passant) ?
Juste parce que j'aime les chiffres ronds : 64 ko ?
> > > 2- comment m'en affranchir dans mon cas ?
> >
> > Les tubes n'ont pas ce genre de limite :
> > ls | xargs rm
>
> $ ls 31* | xargs rm
> bash: /bin/ls: Liste d'arguments trop longue
> rm: opérande manquante
Normal, la commande « ls 31* » met aussi les noms de fichie rs
dans la ligne de commande. Mon exemple était « ls », et, lui, il
ne comporte que « ls » dans la ligne de commande.
> > ou
> > find . -type f -print0 | xargs -0 rm
> > si des espaces se cachent dans les noms de fichiers.
>
> ça rm, on dirait ...
C'est fait pour ;o)
Steve, vendredi 23 mars 2007, 18:45:42 CET
>[...]
> donc, si je comprends bien, si j'ai par exemple 3 fichier de 5
> caractères de long chacun, le * aurait 15 caractères (sans
> compter les espaces)
Si, les espaces sont comptés, soit en tant que tels, soit comme
des caractères de terminaison ( ).
> et c'est cette longueur qui est limitée Ã
> quelque chose de plus petit que mon 5982 (vu que là c'est le
> nombre de fichiers, qui font eux au moins un caratère de
> long). (j'espère que c'est clair pour tout le monde...)
Tu as 5982 noms de fichiers qui représentent au moins environ
12 000 caractères (un caractère par nom, plus le ). On ne pe ut
rien déduire de la taille limite de la ligne de commande à part ir
de ça, car on a :
|ta ligne| > limite
et
|ta ligne| > 12 000
En revanche, on peut dire que ta ligne a, au plus, environ
120 000 caractères (une vingtaine de caractères par nom, avec 0 ).
Et donc la limite se situe en dessous de 120 000 caractères :
|ta ligne| < 120 000
et
|ta ligne| > limite
donc
limite < 120 000
(si lâestimation dâune vingtaine de caractères par n om au max est
correcte).
> > Pour connaître cette limite, tu peux lire les sources de
> > bash...
>
> Quelle bonne idée, je n'avais rien à faire ce soir ;-)
> Même pas une petite idée (en passant) ?
Juste parce que j'aime les chiffres ronds : 64 ko ?
> > > 2- comment m'en affranchir dans mon cas ?
> >
> > Les tubes n'ont pas ce genre de limite :
> > ls | xargs rm
>
> $ ls 31* | xargs rm
> bash: /bin/ls: Liste d'arguments trop longue
> rm: opérande manquante
Normal, la commande « ls 31* » met aussi les noms de fichie rs
dans la ligne de commande. Mon exemple était « ls », et, lui, il
ne comporte que « ls » dans la ligne de commande.
> > ou
> > find . -type f -print0 | xargs -0 rm
> > si des espaces se cachent dans les noms de fichiers.
>
> ça rm, on dirait ...
C'est fait pour ;o)
Est-ce que ça ne peut pas être considéré comme un défaut (corrigible ?)
de rm ?
Est-ce que ça ne peut pas être considéré comme un défaut (corrigible ?)
de rm ?
Est-ce que ça ne peut pas être considéré comme un défaut (corrigible ?)
de rm ?