OVH Cloud OVH Cloud

grep et cp --la soluce

2 réponses
Avatar
Jean-François Garnier
Avec votre aide j'ai enfin trouvé la soluce à mon problème et me
cultiver dans le domaine du script et vous en remercie encore.
Il semble que xargs ne soit pas "standard", du moins celui que j'utilise
(en date d'août 2004).

grep -Z -l -r -i montemplate /monpath | xargs -J"{}" cp -Rv "{}"
/madestination

J-F Garnier

2 réponses

Avatar
Jean-François Garnier
Bonjour,
Merci pour tes précisions.

J-F Garnier



"Philippe Chevalier" a écrit dans le message de news:

On Sun, 03 Apr 2005 21:11:44 +0000, Jean-François Garnier
wrote:

grep -Z -l -r -i montemplate /monpath | xargs -J"{}" cp -Rv "{}"
/madestination


Trop de caractères. Ca marche aussi avec :

grep -Z -l -r -i montemplate /monpath | xargs -J % cp -Rv % /madestination

Et pour d'autres commandes ultérieures, attention : -J ne remplace que
la première occurence de la chaine.

Par contre, avec -I, toutes les occurences de la chaine de remplacement
sont
substituées.

Par exemple, si au lieu de simplement copier, il s'agissait de renommer
avec une extension:

grep -Z -l -r -i montemplate /monpath | xargs -I % cp -Rv %
/madestination/%.bak

Copiera tous les fichiers ET les renommera en .bak. Avec -J, ca ne
fonctionnerait pas.

K.
--
Kyoko Otonashi's shrine / Le temple de Kyoko Otonashi
My tribute to Maison Ikkoku / Mon hommage a Maison Ikkoku
Visit http://www.kyoko.org/



Avatar
Stephane Chazelas
2005-04-03, 21:11(+00), Jean-François Garnier:
Avec votre aide j'ai enfin trouvé la soluce à mon problème et me
cultiver dans le domaine du script et vous en remercie encore.
Il semble que xargs ne soit pas "standard", du moins celui que j'utilise
(en date d'août 2004).

grep -Z -l -r -i montemplate /monpath | xargs -J"{}" cp -Rv "{}"
/madestination
[...]


En effet, c'est GNU specifique (pour grep, cp et xargs).

Le probleme avec cette solution est que ca lance un cp par
fichier.

Tu peux faire:

grep -lrZi montemplate /monpath |
xargs -r0 cp -Rv --target-directory=/madestination


--
Stéphane