Re: [TECH] substitution
rm sans l'option -r n'efface pas un repertoire autant pour moi Linux-Azur : http://www.linux-azur.org Désinscriptions: http://www.linux-azur.org/liste.php3 Pas de message au format HTML, SVP
Re: [TECH] substitution
On Fri, 11 Oct 2002 00:11:28 +0200 Jeremy Fierstone <[EMAIL PROTECTED]> wrote: > je connaissais pas, merci pour l'info :) > par contre tu n'es pas oblige d'utiliser le mode recursif (-r) si tu est oblige rm sans l'option -r n'efface pas un repertoire > > tar tzf gros_machin_debil.tar.gz | xargs rm -r PS : notons au passage que tu n'avais pas besoin de citer l'integralite de son texte pour ajouter deux lignes, juste cette ligne suffisait PS2: le "reply-to" de ton mail vas sur ton adresse au lieu d'aller sur la liste PS3: oui je sait je fait un peu moralisateur sur ce coup la mais je le fait pas souvent :-) Linux-Azur : http://www.linux-azur.org Désinscriptions: http://www.linux-azur.org/liste.php3 Pas de message au format HTML, SVP
Re: [TECH] substitution
je connaissais pas, merci pour l'info :) par contre tu n'es pas oblige d'utiliser le mode recursif (-r) Ivan Kanis wrote: Jeremy> Si je ne trompe pas, find devrait t'aider : find . -name Jeremy> \*.php -exec {} \; où = perl -p -i -e Jeremy> 's/rep1//rep2\//g' Ben je prefere: find . name "*.php" | xargs perl -p -i -e's/rep1//rep2\//g' Je trouve que c'est plus rapide a tapez, plus facile a memoriser... xargs est votre ami! man xargs De plus xargs peut servir en dehors de find. Un exemple qui m'arrive de temps en temps. Je fais: tar xzf gros_machin_debil.tar.gz Malheur! Le packet n'est pas dans un repertoire est me pourri m'a partition home avec des fichier est des repertoires partout. Comment nettoyer tout ça efficacement? Avec xargs: tar tzf gros_machin_debil.tar.gz | xargs rm -r A+, Linuxieusement, Ivan Linux-Azur : http://www.linux-azur.org Désinscriptions: http://www.linux-azur.org/liste.php3 Pas de message au format HTML, SVP
Re: [TECH] substitution
Jeremy> Si je ne trompe pas, find devrait t'aider : find . -name Jeremy> \*.php -exec {} \; où = perl -p -i -e Jeremy> 's/rep1//rep2\//g' Ben je prefere: find . name "*.php" | xargs perl -p -i -e's/rep1//rep2\//g' Je trouve que c'est plus rapide a tapez, plus facile a memoriser... xargs est votre ami! man xargs De plus xargs peut servir en dehors de find. Un exemple qui m'arrive de temps en temps. Je fais: tar xzf gros_machin_debil.tar.gz Malheur! Le packet n'est pas dans un repertoire est me pourri m'a partition home avec des fichier est des repertoires partout. Comment nettoyer tout ça efficacement? Avec xargs: tar tzf gros_machin_debil.tar.gz | xargs rm -r A+, Linuxieusement, Ivan -- /-* | "Twenty years from now you will be more disappointed | | | by the things that you didn't do than by the ones you | Ivan Kanis| | did do... Sail away from the safe harbor. Catch the | [EMAIL PROTECTED] | | trade winds in your sails. Explore. Dream. Discover." | www.juliva.com | | (Mark Twain) | | *-/ Linux-Azur : http://www.linux-azur.org Désinscriptions: http://www.linux-azur.org/liste.php3 Pas de message au format HTML, SVP
Re: [TECH] substitution
Jeff Ghislain wrote: mais je ne suis pas sur de comprendre pas la fin {} \; cela fait partie de la commande Perl ? tiens, personne n'a encore repondu, bon... non, ca fait partie du find. {} designe le fichier auquel find applique la commande, et \; est la par ce que find exige un point virgule a la fin de la commande -exec, et il est echappe (par \) pour ne pas que le shell s'imagine qu'il lui est destine. a+ ben Linux-Azur : http://www.linux-azur.org Désinscriptions: http://www.linux-azur.org/liste.php3 Pas de message au format HTML, SVP
Re: [TECH] substitution
Jeremy Fierstone a écrit : > Si je ne trompe pas, find devrait t'aider : > > find . -name \*.php -exec {} \; > où = perl -p -i -e 's/rep1//rep2\//g' > MERCI :o) ça roule. mais je ne suis pas sur de comprendre pas la fin {} \; cela fait partie de la commande Perl ? Linux-Azur : http://www.linux-azur.org Désinscriptions: http://www.linux-azur.org/liste.php3 Pas de message au format HTML, SVP
Re: [TECH] substitution
Si je ne trompe pas, find devrait t'aider : find . -name \*.php -exec {} \; où = perl -p -i -e 's/rep1//rep2\//g' pas besoin de mettre le nom du fichier, c'est find qui remplacera {} par chaque fichier qu'il traite ... hint : il faudrait peut etre backslashe les apostrophes ... Jeremy Jeff Ghislain wrote: Bonsoir, Je souhaite remplacer le texte 'rep1/' par 'rep2/' dans un ensemble de fichiers qui sont dans un répertoire et ses sous-répertoires. J'utilise la commande [EMAIL PROTECTED] rep2]$ perl -p -i -e 's/rep1//rep2\//g' *.php ça marche dans le répertoire courant, mais je ne trouve pas comment faire pour les sous-rep, sans changer à la main. J'ai essayé ls -R > change.txt mais cela ne fait pas le bon format :o( pour faire un genre de liste dans un fichier, et la renvoyer dans la commande commande < change.txt Merci de vos réponses. Linux-Azur : http://www.linux-azur.org Désinscriptions: http://www.linux-azur.org/liste.php3 Pas de message au format HTML, SVP
[TECH] substitution
Bonsoir, Je souhaite remplacer le texte 'rep1/' par 'rep2/' dans un ensemble de fichiers qui sont dans un répertoire et ses sous-répertoires. J'utilise la commande [EMAIL PROTECTED] rep2]$ perl -p -i -e 's/rep1//rep2\//g' *.php ça marche dans le répertoire courant, mais je ne trouve pas comment faire pour les sous-rep, sans changer à la main. J'ai essayé ls -R > change.txt mais cela ne fait pas le bon format :o( pour faire un genre de liste dans un fichier, et la renvoyer dans la commande commande < change.txt Merci de vos réponses. Linux-Azur : http://www.linux-azur.org Désinscriptions: http://www.linux-azur.org/liste.php3 Pas de message au format HTML, SVP