Passage en minuscule du contenu des fichiers d'un repertoire

Passage en minuscule du contenu des fichiers d'un repertoire - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 26-06-2003 à 10:16:41    

Voila mon titre est acces explicite je pense.
 
J'ai bien des idées mais aucune ne me convient.
Il faudrait que ca soit fait sur tous les fichiers contenus dans un repertoire.
 
Pour l'instant je me suis rapproche de ca :
find ~ -name '*' -exec et
cat prog_orig | tr '[:upper:]' '[:lower:]' > prog_dest  
 
Sans arriver au resultat espere.
 
Pareil je voudrais aussi transformer le nom du fichier en minuscule :-)
 
Merci de votre collaboration.


Message édité par Sebastien le 26-06-2003 à 10:38:44
Reply

Marsh Posté le 26-06-2003 à 10:16:41   

Reply

Marsh Posté le 26-06-2003 à 10:32:36    

alors en faisant  
for i in *;
do cat "$i" | tr '[:upper:]' '[:lower:]' > "$i";  
done;
 
Ca marche pour le repertoire, maintenant est il possible de faire la meme chose en allant dans les sous rep ?

Reply

Marsh Posté le 26-06-2003 à 10:35:28    

Sébastien a écrit :

Voila mon titre est acces explicite je pense.


 
Oui le titre oui, mais l'exemple non ;(
Tu veux passer les noms de tout _les fichiers_ d'un repertoire en minuscule :
$rename 'y/A-Z/a-z/' *.pdf
Ou bien passer le _contenu_ de tout les fichiers pdf en minuscule?

Reply

Marsh Posté le 26-06-2003 à 10:36:40    

find -exec bash -c 'cat {} | tr A-Z a-z > {}' \;

Reply

Marsh Posté le 26-06-2003 à 10:38:03    

oops en fait je veux tout faire :-)
le nom du fichier en minuscule et son contenu aussi :-D
Alors pour le nom de fichier : tous les fichiers existant
Pour le contenu que ceux avec une extension bien precise.

Reply

Marsh Posté le 26-06-2003 à 10:39:24    

find -exec bash -c 'cat {} | tr A-Z a-z > {} && rename tr/A-Z/a-z/ {}' \;


Message édité par minusplus le 26-06-2003 à 10:39:39
Reply

Marsh Posté le 26-06-2003 à 10:53:59    

minusplus a écrit :

find -exec bash -c 'cat {} | tr A-Z a-z > {}' \;


 
Heu... cette commande m a fait passer tous mes fichiers à vide :-/

Reply

Marsh Posté le 26-06-2003 à 10:55:54    

:??:

Reply

Marsh Posté le 26-06-2003 à 10:59:48    

Code :
  1. fdm3:/www/htdocs/test# ls -l
  2. total 4
  3. -rw-r--r--    1 root     root           99 Jun 26 09:48 test.dat
  4. fdm3:/www/htdocs/test# find -exec bash -c 'cat {} | tr A-Z a-z > {}' \;
  5. cat: .: Is a directory
  6. bash: .: Is a directory
  7. fdm3:/www/htdocs/test# ls -l
  8. total 0
  9. -rw-r--r--    1 root     root            0 Jun 26 09:49 test.dat


Message édité par Sebastien le 26-06-2003 à 11:00:31
Reply

Marsh Posté le 26-06-2003 à 11:04:32    


[pts/4][11:06]manu@bassed6:~/temp> echo -e "AZERTYUIOPazertyio" > tOtO
[pts/4][11:06]manu@bassed6:~/temp> ll  
total 4
-rw-r--r--    1 manu     manu           19 2003-06-26 11:06 tOtO
[pts/4][11:06]manu@bassed6:~/temp> cat tOtO  
AZERTYUIOPazertyio
[pts/4][11:06]manu@bassed6:~/temp> find -type f -exec bash -c 'cat {} | tr A-Z a-z > {} ' \;
[pts/4][11:06]manu@bassed6:~/temp> cat tOtO  
azertyuiopazertyio
[pts/4][11:06]manu@bassed6:~/temp>  


 
[:spamafote]
 
 
 
edit : tu devrais pas faire ce genre de trucs en root ! :/


Message édité par minusplus le 26-06-2003 à 11:07:04
Reply

Marsh Posté le 26-06-2003 à 11:04:32   

Reply

Marsh Posté le 26-06-2003 à 11:30:06    

Ouinnnnnnnn

Code :
  1. fdm3:/www/htdocs/test$ id
  2. uid=1001(oracle) gid=1001(dba) groups=1001(dba)
  3. fdm3:/www/htdocs/test$ cat TeSt.dat
  4. Tr
  5. MAJUSCULE
  6. minuscule
  7. fdm3:/www/htdocs/test$ ls -l
  8. total 4
  9. -rw-r--r--    1 oracle   dba            23 Jun 26 10:16 TeSt.dat
  10. -rw-r--r--    1 root     root            0 Jun 26 09:49 test.dat
  11. fdm3:/www/htdocs/test$  find -type f -exec bash -c 'cat {} | tr A-Z a-z > {} ' \;
  12. bash: ./test.dat: Permission denied
  13. fdm3:/www/htdocs/test$ cat TeSt.dat
  14. fdm3:/www/htdocs/test$

Reply

Marsh Posté le 26-06-2003 à 14:12:28    

heu.... [:wam]

Reply

Marsh Posté le 26-06-2003 à 14:31:09    

C'est beau n'est ce pas :-)

Reply

Marsh Posté le 26-06-2003 à 14:33:41    

magnifique :jap:

Reply

Marsh Posté le 26-06-2003 à 14:34:01    

powered by Garcimore ! :o

Reply

Marsh Posté le 26-06-2003 à 14:38:42    

Attend attend j ai mieux la !!

Code :
  1. fdm3:/www/htdocs/test$ echo -e "ERERERZ">toto.dat
  2. fdm3:/www/htdocs/test$ echo -e "ERERERZ">toto   
  3. fdm3:/www/htdocs/test$ find -type f -exec bash -c 'cat {} | tr A-Z a-z > {} ' \;
  4. fdm3:/www/htdocs/test$ cat toto
  5. fdm3:/www/htdocs/test$ cat toto.dat
  6. erererz

Reply

Marsh Posté le 26-06-2003 à 14:40:50    

heu... à part un exorcisme, je vois vraiment plus quoi faire.... :'(

Reply

Marsh Posté le 26-06-2003 à 14:42:41    

Je viens aussi de m apercevoir que le rm * ne me demande meme pas de confirmation.
 
Et que sous une autre machine cela fonctionne correctement la commande.

Reply

Marsh Posté le 26-06-2003 à 14:43:33    

rm ne demande jamais de confirmation sauf avec une option approprié (-i)

Reply

Marsh Posté le 26-06-2003 à 14:43:54    

fais voir tes alias ?

Reply

Marsh Posté le 26-06-2003 à 14:48:52    

A po d'alias sur rm.
Les deux distribs sont des debian woody une en noyau 2.4.18 (celle en prod) et celle qui s'amuse a me faire n importe quoi est en 2.2.20.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed