Re: [TECH] substitution

2002-10-11 Par sujet Jeremy Fierstone

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

2002-10-11 Par sujet Aubin Galinotti
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

2002-10-11 Par sujet Jeremy Fierstone

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

2002-10-10 Par sujet Ivan Kanis

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

2002-10-10 Par sujet Benoit Mordelet

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

2002-10-10 Par sujet Jeff Ghislain
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

2002-10-10 Par sujet Jeremy Fierstone

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

2002-10-09 Par sujet Jeff Ghislain
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