Newsgroup: it.comp.os.linux.software
Titolo: Sed: Ok, ci riprovo...

Qualcuno sa come farlo funzionare con i set di caratteri?
$ echo "UPPERCASE" | sed 'y/[A-Z]/[a-z]/'
UPPERCaSE
Massimiliano

  UPPERCaSE
Non puoi farlo con "tr"?
$ echo "UPPERCASE" | tr [A-Z] [a-z]
uppercase
Ciao, Andrea
-- 
          (o_  | 
(o_  (o_  //\  | Andrea Carosi, just another Linux user
(/)_ (/)_ V_/_ |
GnuPG PK fingerprint: 0857 1927 150B 3C8E 8274  F641 1388 AA6D 3FA0 5410

 Non puoi farlo con "tr"?
Certo, e in genere lo faccio con tr, ma non ricordo chi (Thorin? Rez?)
ha detto che rename (lo script in perl) e sed funzionano secondo la
stessa logica.  E pare cosi`, non fosse per questo dettaglio.
Massimiliano




Gia`, non prende la sintassi [a-z]
Chissa` cosa ci vuole.. cosi` pero` va:
echo UPPERCASE|sed y/ABCDEPQRSUVZ/abcdepqrsuvz/
uppercase
-- 
Ci sentiamo  |  Remigio Zedda  || Attenzione! campo "From:" alterato
ciao Remigio |                 ||==> E-mail: 
remi...@tiscalinet.it
-------------|      ..si` d'accordo.. ma con la Deb e` un'altra cosa!
/* Linux 2.2.19pre17 su Debian GNU/Linux 2.2 Potato */

 Chissa` cosa ci vuole.. cosi` pero` va:
Infatti *E'* cosi' che va usato.
-- 
Pierluigi De Rosa (
tho...@durin.khazad-dum.net
).
<<      LINUX: the choice of a GNU generation     >>
<<   For my real address... ask the Balrog.       >>
* Sostenete la Lega per la Soppressione dei Troll *

 UPPERCaSE
Penso che non si possa: quando usi y/// le espressioni tra gli slash non
vengono valutate come regexp ma come sequenze di caratteri.
Per intenderci: nel tuo esempio dici di sostituire [ con [ :)
Per fare la sostiruzione che ti server devi mettere tutto l'alfabeto sia come
SOURCE sia come target.
Fabio

 Infatti *E'* cosi' che va usato.
Ok.  Ho preso troppo alla lettera chi parlava di parallelo tra sed e
rename.
Massimiliano


y non interpreta le regular expression!
Avevo pensato anche a un
for i in [A-Z] ; do ....
ma anche con il for devi metterci tutto l'alfabeto :-(
Almeno, sembra.
Forse ci riesci usando la codifica ottale dei caratteri e
chiedendo che ti sostituisca il valore di una lettera maiuscola
con lo stesso aumentato di 40 (la minuscola corrispondente).
ciao, Andrea

 y non interpreta le regular expression!
Argh!  Diro` una sciocchezza, ma ci sara` un comando che espande una
regexp?  Cosi` magari: sed 'y/`expregexp [A-Z]`/`expregexp [a-z]`/'
Vabbe', in fondo e` un capriccio. :-)
Massimiliano

 Vabbe', in fondo e` un capriccio. :-)
... che stimola la curiosita' 8-)
C'e' un altro programmillo interessante: *awk*
magari ti puo' interessare, 
[postino@fortezza postino]$ mkdir liuto
[postino@fortezza postino]$ cd liuto/
[postino@fortezza liuto]$ touch MADRIGALE
[postino@fortezza liuto]$ ls
MADRIGALE
[postino@fortezza liuto]$ ls | awk '/[A-Z]/ { system ("mv "$0"
"tolower ($0)"")}'
[postino@fortezza liuto]$ ls
madrigale
Ciao Francesco.
-- 
<*> bash$ man -h  per il pinguino che non deve chiedere mai. <*>  
<*> lynx file:/usr/doc/*                                     <*>

 [postino@fortezza liuto]$ touch MADRIGALE
Cosi`, per curiosita`, sei un liutista?  (Che fiuto da segugio, eh?)
Massimiliano
p.s. Carina la signature. :-)

 Cosi`, per curiosita`, sei un liutista?  (Che fiuto da segugio, eh?)
No, era la musica in sottofondo  a ispirarmi, cmq e' uno strumento che
mi ha sempre affascinato.


 male.
Di ruby mi hanno parlato molto bene ma il perl e' uno dei linguaggi piu'
versatili che conosca.
--
  Giuseppe "Cowo" Corbelli \/\ My software: 
http://cowo.mascanc.net
    **ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**
  -<! Computers are not intelligent.  They only think they are. !>-

 versatili che conosca.
Che io sappia, l'unica voce grossa che parla male di Ruby e` tale
Bruce Eckel.  
Il quale programma in e scrive libri sul Python.  Tu guarda le
coincidenze... ;-D
Massimiliano

 male.
Ci provai tempo fa ma la mia OO-mind non gradi`.  (E' cosi` OO che non
gradi` neppure Python, e non fosse stato per Ruby...)  Pero` lo si
trova dappertutto (o comunque sicuramente piu` di Python o Ruby),
quindi prima o poi merita che ci si mettan le mani sopra.
Massimiliano