Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
967 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [FIND] pwd de la recherche

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[FIND] pwd de la recherche

n°1043439
plag
Posté le 20-05-2008 à 11:03:56  profilanswer
 

Bonjour  
 
Je cherche la variable que est positionné au pwd courant de la recherche.
Je m'explique:
 
J'ai une archi,
/plop
/plop/archi1/archi2
/plop/archi3
/plop/archi4
/plop/archi1/archi2/test.txt
 
En gros je veux trouvé le fichier test.txt et le copier là ou il se trouve (le tout en partant de /plop)
 

Code :
  1. find /plop -name "test.txt" -exec cp {} ???PWD???/test.copy \;


 
Merci de votre aide

Message cité 1 fois
Message édité par plag le 20-05-2008 à 11:06:02
mood
Publicité
Posté le 20-05-2008 à 11:03:56  profilanswer
 

n°1043444
Taz
bisounours-codeur
Posté le 20-05-2008 à 11:23:52  profilanswer
 
n°1043446
plag
Posté le 20-05-2008 à 11:36:44  profilanswer
 

find /plop -name "test.txt" -exec cp {} $(dirname {})/test.copy \;
 
Un truc du genre ?
Je n'ai pas de de linux pour tester là

n°1043448
franceso
Posté le 20-05-2008 à 11:46:12  profilanswer
 

plag a écrit :

En gros je veux trouvé le fichier test.txt et le copier là ou il se trouve (le tout en partant de /plop)

Si j'ai bien compris ce que tu veux, execdir devrait faire l'affaire :

find /plop -name "test.txt" -execdir cp {} test.copy \;


 
 

plag a écrit :

find /plop -name "test.txt" -exec cp {} $(dirname {})/test.copy \;
 
Un truc du genre ?
Je n'ai pas de de linux pour tester là

Ca ne marche pas parce que le $(dirname) est interprété directement par le shell au moment où tu lances la commande.
 
 


---------------
TriScale innov
n°1043449
franceso
Posté le 20-05-2008 à 11:48:06  profilanswer
 

Comment tu fais pour que le 'dirname' ne soit interprété qu'au moment de la résolution du '-exec' et pas directement par le shell ?


---------------
TriScale innov
n°1043456
plag
Posté le 20-05-2008 à 12:02:20  profilanswer
 

Re, je viens de tester  

Code :
  1. [user@machine ~]# find /plop  -name "test.txt" -execdir cp {} test.copy \;
  2. find: invalid predicate `-execdir'
  3. [user@machine ~]# find --version
  4. GNU find version 4.1


Il y a une façon old school ?

n°1043468
matafan
Posté le 20-05-2008 à 13:03:30  profilanswer
 

find /plop -name "test.txt" -exec sh -c 'cp {} `dirname {}`' \;


Edit : hmm ouais en fait apparement t'es pas sous linux, et avec certaines version de find ça va pas marcher parce qu'il n'interprètent pas les {} dans la chaine (genre sous AIX).

Message cité 1 fois
Message édité par matafan le 20-05-2008 à 13:07:19
n°1043470
plag
Posté le 20-05-2008 à 13:07:32  profilanswer
 

find /plop -name "test.txt" -exec sh -c 'cp {} $(dirname {})/test.copy' \;
 
Merci \o/

n°1043476
franceso
Posté le 20-05-2008 à 13:40:06  profilanswer
 

matafan a écrit :

find /plop -name "test.txt" -exec sh -c 'cp {} `dirname {}`' \;


Edit : hmm ouais en fait apparement t'es pas sous linux, et avec certaines version de find ça va pas marcher parce qu'il n'interprètent pas les {} dans la chaine (genre sous AIX).

:jap:
je connaissais pas la méthode d'encapsulation dans un autre shell
 
 
 
EDIT: concernant l'interprétation des {} dans la chaine, peut-être qu'on peut s'en sortir comme ça :

find /plop -name "test.txt" -exec sh -c 'cp "$1" `dirname "$1"`' cp {} \;


Message édité par franceso le 20-05-2008 à 13:47:01

---------------
TriScale innov

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [FIND] pwd de la recherche

 

Sujets relatifs
find : Liste d'arguments trop longueRecherche pc sous linux à acheter
[Nooob] A la recherche d'une distrib particuliere..Recherche dans un ldap
erreur sur le boot LVM + noyau 2.6.22.xpc ======> console. Recherche OS
[recherche] Logiciel de planningrecherche contenu fichier
recherche find multi expression 
Plus de sujets relatifs à : [FIND] pwd de la recherche


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR