Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

commande 'rm' sur une série de fichiers

12 réponses
Avatar
edemiollis
bonjour,

Sous debian je cherche à supprimer une liste de fichiers ayant une
extension .EXT par exemple.
Tous ces fichiers se trouve dans une arborescence pouvant aller
jusqu'à 30 niveaux de sous-répertoires.

J'ai essayé :

find ./ -name '*.ext' | xargs rm
et
find ./ -name '*.ext' | xargs 'rm'

Mais apparement, cela ne fonctionne pas.
Peut-être dois-je passer par la création d'un fichier contenant les
chemins vers chacun de ces fichiers, mais là je suis trop newbie et je
ne connapis pas la syntaxe
Help ... et merci d'avance.

10 réponses

1 2
Avatar
Thomas Nemeth
Le mer 12 nov 2003 à 14:53, edemioll a tapoté :
| bonjour,

Bonjour,


| J'ai essayé :
|
| find ./ -name '*.ext' | xargs rm
| et
| find ./ -name '*.ext' | xargs 'rm'
|
| Mais apparement, cela ne fonctionne pas.

Ah ?
Quel est le message d'erreur ?

Et avec
find . -name "*.ext" -exec rm {} ;
?


| Help ... et merci d'avance.

Avec plaisir.


Thomas
--
Signature aléatoire :
Ta mère elle croit que Netscape c'est une touche du clavier.
Avatar
Laurent Wacrenier
edemioll écrit:
Sous debian je cherche à supprimer une liste de fichiers ayant une
extension .EXT par exemple.
Tous ces fichiers se trouve dans une arborescence pouvant aller
jusqu'à 30 niveaux de sous-répertoires.

J'ai essayé :

find ./ -name '*.ext' | xargs rm


Pourquoi '*.ext' si vous cherchez le suffixe '.EXT' ?

et
find ./ -name '*.ext' | xargs 'rm'


C'est la même chose.

Avatar
Erwan David
(edemioll) écrivait :


find ./ -name '*.ext' | xargs rm
et
find ./ -name '*.ext' | xargs 'rm'

Mais apparement, cela ne fonctionne pas.
Peut-être dois-je passer par la création d'un fichier contenant les
chemins vers chacun de ces fichiers, mais là je suis trop newbie et je
ne connapis pas la syntaxe
Help ... et merci d'avance.


En quoi cela ne fonctionne pas ?

Attention si certains de vos répertoires/fichiers ont des espaces dans
leur nom, mieux vaut utiliser

find . -name "*.ext" -print0|xargs -0 rm

Avatar
edemiollis
Laurent Wacrenier <lwa@ teaser . fr> wrote in message news:...
edemioll écrit:
Sous debian je cherche à supprimer une liste de fichiers ayant une
extension .EXT par exemple.
Tous ces fichiers se trouve dans une arborescence pouvant aller
jusqu'à 30 niveaux de sous-répertoires.

J'ai essayé :

find ./ -name '*.ext' | xargs rm


Pourquoi '*.ext' si vous cherchez le suffixe '.EXT' ?
Parce que c'est un exemple comme un autre. Et newbie pour newbie, je

sais quand même que la casse est différenciée sous linux.

et
find ./ -name '*.ext' | xargs 'rm'


C'est la même chose.
non pas la même chose ... cela dépends des distrib ...



Avatar
edemiollis
Erwan David wrote in message news:...
(edemioll) écrivait :


find ./ -name '*.ext' | xargs rm
et
find ./ -name '*.ext' | xargs 'rm'

Mais apparement, cela ne fonctionne pas.
Peut-être dois-je passer par la création d'un fichier contenant les
chemins vers chacun de ces fichiers, mais là je suis trop newbie et je
ne connapis pas la syntaxe
Help ... et merci d'avance.


En quoi cela ne fonctionne pas ?

Attention si certains de vos répertoires/fichiers ont des espaces dans
leur nom, mieux vaut utiliser

find . -name "*.ext" -print0|xargs -0 rm


Ahh là j'ai une bonne piste... j'ai en effet quelques fichiers
contenant des espaces dans leur nom. Mais cette commande me renvoie :
rm : too few arguments
suite à un permission denied => je vais d'abord devoir vérifier tous
les droits des repertoires et fichiers avant... glurps .
PS : tous les *.ext que je cherche à exterminer ne sont que des
fichiers.

Merci en tous cas pour vos tuyaux


Avatar
Stephane Chazelas
2003/11/13, 07:45(-08), edemioll:
[...]
find ./ -name '*.ext' | xargs rm
[...]



find ./ -name '*.ext' | xargs 'rm'


C'est la même chose.
non pas la même chose ... cela dépends des distrib ...



Si, c'est la meme chose, faut vraiment chercher des shells très
exotiques pour que ce ne soit pas la meme chose. C'est au moins
la meme chose avec tous les shells POSIX, le Bourne shell, ash,
dash, csh, tcsh, rc, es, bash, tcsh, ksh88, ksh93, pdksh, zsh,
même esh (un shell lisp), quel que soit le système ou la
distribution.

Bon, maintenant, avec COMMAND.COM de DOS, je ne sais pas.

--
Stéphane ["Stephane.Chazelas" arobase "free.fr"]



Avatar
Laurent Wacrenier
edemioll écrit:
find ./ -name '*.ext' | xargs rm


Pourquoi '*.ext' si vous cherchez le suffixe '.EXT' ?
Parce que c'est un exemple comme un autre. Et newbie pour newbie, je

sais quand même que la casse est différenciée sous linux.


Dans le système de fichier, pas "sous Linux".

Comment peut savoir que vous le savez, si vous mélangez les deux dans
la question ?

et
find ./ -name '*.ext' | xargs 'rm'


C'est la même chose.
non pas la même chose ... cela dépends des distrib ...



C'est faux.



Avatar
Vincent Bernat
OoO En ce doux début de matinée du jeudi 13 novembre 2003, vers 08:42,
Laurent Wacrenier <lwa@ teaser . fr> disait:

find ./ -name '*.ext' | xargs 'rm'


C'est la même chose.
non pas la même chose ... cela dépends des distrib ...



C'est faux.


Mets IFS à m, tu vas voir.
--
BOFH excuse #330:
quatnum decoherence




Avatar
Stephane Chazelas
2003/11/13, 17:59(-08), Vincent Bernat:
[...]
[ find ./ -name '*.ext' | xargs rm ]
find ./ -name '*.ext' | xargs 'rm'


C'est la même chose.
non pas la même chose ... cela dépends des distrib ...



C'est faux.


Mets IFS à m, tu vas voir.


Avec des très vieux Bourne shells seulement, t'auras du mal à
mettre la main sur une telle antiquité. De toutes façons, si IFS
contient 'm' pour ces shells-là, ça déconne dans les deux cas
sur "-name".

--
Stéphane ["Stephane.Chazelas" arobase "free.fr"]





Avatar
Glenny
In article ,
disait...
-> bonjour,
Salut,


->
-> find ./ -name '*.ext' | xargs rm
-> et
-> find ./ -name '*.ext' | xargs 'rm'
->

find ./ -name "*.ext" | xargs -l1 rm



--
Glenny
Share what you know. Learn what you don't !
1 2