J'ai un r=C3=A9pertoire contenant 10G de donn=C3=A9es r=C3=A9parties en pet=
it fichier (genre=20
50 ko, donc =C3=A7a fait *beaucoup* de fichiers). Je d=C3=A9sire effacer to=
us les=20
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...
=2E
=2E
=46inalement
$ rm 32-20070322231 =C2=ABtab=C2=BB
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 =C2=ABtab=C2=BB
Display all 600 possibilities? (y or n)n
$ rm 32-200703222311*
$=20
Enfin ! Donc le nombre d'arguments est au plus de 5982. Ce qui me m=C3=A8ne=
=C3=A0 me=20
poser deux questions :
1- quelle est le nombre maximal ? comment le trouver ?
2- comment m'en affranchir dans mon cas ?
Merci pour vos r=C3=A9ponses et bonne fin de semaine.
=2D-=20
steve
$ 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 t -print0 | xargs -0 rm si des espaces se cachent dans les noms de fichiers.
$ 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 t -print0 | xargs -0 rm
si des espaces se cachent dans les noms de fichiers.
$ 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 t -print0 | xargs -0 rm si des espaces se cachent dans les noms de fichiers.
$ 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 ?
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
$ 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 ?
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
$ 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 ?
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Cyril Roques
Steve a écrit :
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
le caractere * est remplacé par bash lui-meme donc quand tu fait ls 31* bash execute reellement ls 31123 312334 31345 ...... c'est pour cela qu'il t'envoi dans les choux donc quelque chose comme ls | grep ^31 | xargs rm devrait fonctionner
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
:)
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Steve a écrit :
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
le caractere * est remplacé par bash lui-meme donc quand tu fait ls 31*
bash execute reellement ls 31123 312334 31345 ...... c'est pour cela
qu'il t'envoi dans les choux donc quelque chose comme ls | grep ^31 |
xargs rm devrait fonctionner
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
:)
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
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
le caractere * est remplacé par bash lui-meme donc quand tu fait ls 31* bash execute reellement ls 31123 312334 31345 ...... c'est pour cela qu'il t'envoi dans les choux donc quelque chose comme ls | grep ^31 | xargs rm devrait fonctionner
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
:)
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Sylvain Sauvage
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)
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 nom au max est correcte).
> Pour connaître cette limite, tu peux lire les sources de > bash...
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 nom au max est
correcte).
> Pour connaître cette limite, tu peux lire les sources de
> bash...
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 nom au max est correcte).
> Pour connaître cette limite, tu peux lire les sources de > bash...
$ 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 ?
$ 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 ?
$ 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 ?
> 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 ?
> 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 ?
> 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 ?
>[...] > 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)
Question subsidiaire 2 : quelle est la longueur maximale d'un fichier ? N'y a t-il pas une variable d'environnement s'y rapportant et qu'on peut modifier ?
>[...]
> 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)
Question subsidiaire 2 : quelle est la longueur maximale d'un fichier ? N'y a
t-il pas une variable d'environnement s'y rapportant et qu'on peut modifier ?
>[...] > 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)
Question subsidiaire 2 : quelle est la longueur maximale d'un fichier ? N'y a t-il pas une variable d'environnement s'y rapportant et qu'on peut modifier ?
Est-ce que ça ne peut pas être considéré comme un défaut (corrigible ?) de rm ?
Ou plutôt de Bash.
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Yannick P. a écrit :
Est-ce que ça ne peut pas être considéré comme un défaut (corrigible ?)
de rm ?
Ou plutôt de Bash.
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Est-ce que ça ne peut pas être considéré comme un défaut (corrigible ?) de rm ?
Ou plutôt de Bash.
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact