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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  find : affichage avec les caractères d'échappements?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

find : affichage avec les caractères d'échappements?

n°777679
gothico
Posté le 01-02-2006 à 11:37:06  profilanswer
 

Bonjour,
 
J'utilise find pour un script, je voudrais qu'il me renvoie la liste des fichiers trouvés avec les caractères d'échappements, je n'ai pas trouvé de solution encore...
 
Pour l'instant j'ai :

./CIMG1853.JPG
./l'ile tortue.jpg
./aqua tortue.jpg


Et je veux :

./CIMG1853.JPG
./l\'ile\ tortue.jpg
./aqua\ tortue.jpg


 
Quelqu'un aurait-il une solution? Existe-t-il une fonction pour ca? (comme addslashes en PHP)
 
Merci.


Message édité par gothico le 01-02-2006 à 12:34:55
mood
Publicité
Posté le 01-02-2006 à 11:37:06  profilanswer
 

n°777788
Zavie
Test, du travail de pro !
Posté le 01-02-2006 à 15:55:13  profilanswer
 

Je ne connais pas d'option de ce genre dans find. Donc à priori, sed :
find | sed 's/ /\\ /g'
 
Il ya peut-être un autre moyen tordu en utilisant l'option -printf de find et l'option --quoting-style de GNU/ls.


---------------
Viendez vous battre à Prologin \o/
n°777790
Zavie
Test, du travail de pro !
Posté le 01-02-2006 à 15:58:17  profilanswer
 

...
Evidemment l'exemple n'échappe que les espaces. Pour échapper tous les caractères qui peuvent poser problème c'est un peu plus long. ^_^;


---------------
Viendez vous battre à Prologin \o/
n°777816
gothico
Posté le 01-02-2006 à 16:43:41  profilanswer
 

Vi merci, c'est finalement ce que j'ai utilisé, mais cela ne résoud pas mon problème....
 
Je met une liste d'images d'un répertoire dans une variable pour en faire une copie :

all_jpg=`find $rep_source -iname *.JPG`
cp $all_jpg $CHEMIN


 
Ce ne fonctionnait pas à cause des renvoies d'espaces de find, c'est pourquoi j'ai demandé ici comment je pouvais faire.
 
Voila ma solution avec sed :

all_jpg=`find $rep_source -iname *.JPG | sed -e s/\ /\\\\\ /g`
cp $all_jpg $CHEMIN



Mais cela ne fonctionne toujours pas :

cp: ne peut évaluer `./ile': Aucun fichier ou répertoire de ce type
cp: ne peut évaluer `tortue.jpg': Aucun fichier ou répertoire de ce type
cp: ne peut évaluer `./aqua': Aucun fichier ou répertoire de ce type
cp: ne peut évaluer `tortue.jpg': Aucun fichier ou répertoire de ce type


 
Pourtant la commande "find $rep_source -iname *.JPG | sed -e s/\ /\\\\\ /g" renvoie bien :  

./CIMG1853.JPG
./ile\ tortue.jpg
./aqua\ tortue.jpg


 
Je vois pas comment faire autrement la...   :cry:


Message édité par gothico le 01-02-2006 à 17:09:25
n°777890
Threep
I'm a mighty pirate!
Posté le 01-02-2006 à 19:22:34  profilanswer
 

et en faisant cp "$all_jpg" $CHEMIN  ?

n°777893
matafan
Posté le 01-02-2006 à 19:46:24  profilanswer
 

find $rep_source -iname *.JPG -exec cp {} $CHEMIN \;

n°778192
gothico
Posté le 02-02-2006 à 16:39:51  profilanswer
 

matafan a écrit :

find $rep_source -iname *.JPG -exec cp {} $CHEMIN \;


 :love:  :love:  :love:  
 
 
 [:m@nu68]  [:m@nu68]  [:m@nu68]


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

  find : affichage avec les caractères d'échappements?

 

Sujets relatifs
[MAC OS X] Probleme d'affichage des accents sur X11...Probleme affichage apres install de madriva 2006
installe Geforce 4 MX 440 SE MDK 10.2 et affichage SVHSWget et caractères accentués
[Linux] Tableau de caractères[vi] remplacement du caractères "/"
[bash] supprimer les espaces à la fin d'une chaine de caractères ?problème d'affichage des pages man sous mandriva ...
différence d'affichage entre desktop local et freenxProbleme de vitesse d'affichage
Plus de sujets relatifs à : find : affichage avec les caractères d'échappements?


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