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

[HS] Combiner find et rm

6 réponses
Avatar
Stephane Ascoet
>>>find /metier -name "*.php" -o "*.html" -o "*.js" | xargs tar cvf
>>>> > archive.tar
>>>> >
>>>> > De façon générale, la réponse aux questions qui contiennent
>>>> > le mot "arborescence" est presque toujours basé sur find et
>>>> > xargs.
>
>
> Et même : find ... -print0 | xargs -0 ...
Bonjour,
vu que ce hors-sujet fut amorce il y a quelques semaines, je le
continue... Je cree un script qui automatise l'enregistrement sur CD
d'une arborescence(je pourrais le fournir a qui le desire, peut-etre un
futur projet GNU?). Je veux qu'au depart il propose de supprimer les
fichiers *~ (et on pourrait tres bien ensuite faire la meme operation
pour d'autres fichiers parasites). J'ai donc repris la commande
ci-dessus, ce qui donne:
find $dossiersrc -iname "*~" -print0 | xargs -0 rm -vi
Seulement, ca ne fonctionne pas, et il me semble que c'est parce que la
commande n'attend pas que l'on ai repondu oui ou non a rm pour
continuer. Je vois bien la solution de stocker la liste des fichiers
dans un fichier, puis de la relire dans une boucle, mais ce n'est pas
tres propre. Auriez-vous une meilleure idee?
Desole pour la poursuite de ce hors-sujet, mais j'avoue que, arrive si
pres du but, c'est plus tentant de demander a des vraies personnes ce
qui cloche plutot que de se taper de la documentation theorique, qui
serait en grande partie de la re-dite pour moi.

--
Bien cordialement, Stephane Ascoet, cyberespace Saint-Thonan
<http://mairie.wanadoo.fr/saintthonan/cyberespace.html>-eventuellement
preneur de materiel
Fait en toute legalite avec Mozilla(sur Apple eMac sous OS X.2.8+AW
6.2.9), qui est libre et que vous pouvez aussi utiliser


--
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

6 réponses

Avatar
D. Soulayrol
Stephane Ascoet wrote:
find /metier -name "*.php" -o "*.html" -o "*.js" | xargs tar cvf
> archive.tar
>
> De façon générale, la réponse aux questions qui contiennent
> le mot "arborescence" est presque toujours basé sur find et
> xargs.








Et même : find ... -print0 | xargs -0 ...


Bonjour,
vu que ce hors-sujet fut amorce il y a quelques semaines, je le
continue... Je cree un script qui automatise l'enregistrement sur CD
d'une arborescence(je pourrais le fournir a qui le desire, peut-etre un
futur projet GNU?). Je veux qu'au depart il propose de supprimer les
fichiers *~ (et on pourrait tres bien ensuite faire la meme operation
pour d'autres fichiers parasites). J'ai donc repris la commande
ci-dessus, ce qui donne:
find $dossiersrc -iname "*~" -print0 | xargs -0 rm -vi



Personnellement, je fais:
find $dossiersrc -name *~ -exec rm -vi {} ;



Seulement, ca ne fonctionne pas, et il me semble que c'est parce que la
commande n'attend pas que l'on ai repondu oui ou non a rm pour
continuer. Je vois bien la solution de stocker la liste des fichiers
dans un fichier, puis de la relire dans une boucle, mais ce n'est pas
tres propre. Auriez-vous une meilleure idee?
Desole pour la poursuite de ce hors-sujet, mais j'avoue que, arrive si
pres du but, c'est plus tentant de demander a des vraies personnes ce
qui cloche plutot que de se taper de la documentation theorique, qui
serait en grande partie de la re-dite pour moi.




--
David.


--
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
Avatar
Edi STOJICEVIC
Le mer, jun 28, 2006 at 03:17:31 +0200, Stephane Ascoet a tapoté sur son clavier :
>>>find /metier -name "*.php" -o "*.html" -o "*.js" | xargs tar cvf
>>>>> archive.tar
>>>>>
>>>>> De façon générale, la réponse aux questions qui contiennent
>>>>> le mot "arborescence" est presque toujours basé sur find et
>>>>> xargs.
>
>
>Et même : find ... -print0 | xargs -0 ...
Bonjour,
vu que ce hors-sujet fut amorce il y a quelques semaines, je le
continue... Je cree un script qui automatise l'enregistrement sur CD
d'une arborescence(je pourrais le fournir a qui le desire, peut-etre un
futur projet GNU?). Je veux qu'au depart il propose de supprimer les
fichiers *~ (et on pourrait tres bien ensuite faire la meme operation
pour d'autres fichiers parasites). J'ai donc repris la commande
ci-dessus, ce qui donne:
find $dossiersrc -iname "*~" -print0 | xargs -0 rm -vi
Seulement, ca ne fonctionne pas, et il me semble que c'est parce que la
commande n'attend pas que l'on ai repondu oui ou non a rm pour
continuer. Je vois bien la solution de stocker la liste des fichiers
dans un fichier, puis de la relire dans une boucle, mais ce n'est pas
tres propre. Auriez-vous une meilleure idee?
Desole pour la poursuite de ce hors-sujet, mais j'avoue que, arrive si
pres du but, c'est plus tentant de demander a des vraies personnes ce
qui cloche plutot que de se taper de la documentation theorique, qui
serait en grande partie de la re-dite pour moi.



find rep -iname "*~" -exec rm {}; ?


--
. ''`. (___/) E d i S T O J I C E V I C
: :' : (='.'=) http://www.debianworld.org
`. `~' (")_(") GPG: C360 FCF0 AB3A 2AB0 52E7 044F 1B3D 2109 1237 B032
`-


--
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
Avatar
Sylvain Sauvage
Mercredi 28 juin 2006, 15:17:31 CEST, Stephane Ascoet a écrit :
[...]
Bonjour,



'soir,

vu que ce hors-sujet fut amorce il y a quelques semaines, je le
continue... Je cree un script qui automatise l'enregistrement sur CD
d'une arborescence(je pourrais le fournir a qui le desire, peut-etre un
futur projet GNU?). Je veux qu'au depart il propose de supprimer les
fichiers *~ (et on pourrait tres bien ensuite faire la meme operation
pour d'autres fichiers parasites). J'ai donc repris la commande
ci-dessus, ce qui donne:
find $dossiersrc -iname "*~" -print0 | xargs -0 rm -vi
Seulement, ca ne fonctionne pas, et il me semble que c'est parce que la
commande n'attend pas que l'on ai repondu oui ou non a rm pour
continuer.
[...]



xargs lit déjà l'entrée standard. rm ne peut donc la lire.
Si tu veux vraiment que rm te pose la question pour chaque fichier, il
faut utiliser l'option -exec de find (comme déjà proposé).

Par contre, et c'est surtout pour cela que je réponds, s'il y a beaucoup
de fichiers, ça peut être long et fastidieux de devoir répondre à chaque
fichier...

--
Sylvain Sauvage


--
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
Avatar
JusTiCe8
D. Soulayrol wrote:
[...]
Personnellement, je fais:
find $dossiersrc -name *~ -exec rm -vi {} ;



pour le problème de l'attente de réponse, enlever l'option 'i' de rm
(Interactive) et plus simple encore:
l'action "-delete" de find.

J8.


--
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
Avatar
D. Soulayrol
Bonjour,

JusTiCe8 wrote:
D. Soulayrol wrote:
[...]
Personnellement, je fais:
find $dossiersrc -name *~ -exec rm -vi {} ;



pour le problème de l'attente de réponse, enlever l'option 'i' de rm



Tout à fait, mais j'avais compris qu'il voulait justement ce
comportement, alors j'ai repris les options qu'il avait donné à rm.

(Interactive) et plus simple encore:
l'action "-delete" de find.



Je ne connaissais pas. Merci.


J8.





--
David.


--
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
Avatar
Stephane Ascoet
Edi STOJICEVIC a écrit :
find rep -iname "*~" -exec rm {};


Bonjour,
merci. Je viens de l'essayer sous le bash d'OS X, il fallait rajouter un
espace entre } et pour qu'il interprete le ; .
Je m'attendais a ce qu'il y ait des remarques sur le rm -vi. J'avais
bien dit "Je veux qu'au depart il propose de supprimer" et non "Je veux
qu'au depart il supprime". Et normallement il ne devrait pas y en avoir
des centaines. Il n'est pas question, pour moi, qu'une personne lance ce
script pensant faire une sauvegarde et que des fichiers potientiellement
importants soient supprimes brutalement (c'est d'ailleurs contraire a
l'esprit GNU, pour etre vraiment en accord, il faudrait meme que je
decoupe ce script en plusieurs faisant chacun une tache bien precise).
Apres, rien n'empeche de pouvoir passer un parametre au script pour
passer en mode "force". Vu qu'on est submerge par le foot, j'en profite
pour m'occuper a autre chose, dont programmer, c'est bien plus
gratifiant, que par exemple, passer des heures a critiquer l'equipe,
pour se rendre compte qu'elle n'est pas si mauvaise que ca... Tiens, ca
me rappelle une certaine coupe 1998... Et tout le monde avait dit qu'ils
ne re-commenceraient plus a etre mechant... et apparemment, les
politiques aussi ont oublie leurs resolutions post-21 avril...
--
Bien cordialement, Stephane Ascoet, cyberespace Saint-Thonan
<http://mairie.wanadoo.fr/saintthonan/cyberespace.html>-eventuellement
preneur de materiel
Fait en toute legalite avec Mozilla(sur Apple eMac sous OS X.2.8+AW
6.2.9), qui est libre et que vous pouvez aussi utiliser


--
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