Newsgroup: it.comp.os.linux.iniziare
Titolo: Maiuscole iniziali

Ho questo:
 
afghanistan
åland islands
american samoa
 
vorrei farlo diventare cosi':
 
Afghanistan
Åland Islands
American Samoa
 
qualcuno sa dirmi la riga di comando per farlo dalla shell? TIA
 
-- 
Tanti saluti
 

 qualcuno sa dirmi...
 
Il tasto delle maiuscole, questo sconoscuto.
 
man tr

 man tr
 
Erano gia' tutti maiuscoli, ma li ho fatti tutti in minuscolo con 
tr '[A-Z]' '[a-z]', se c'e' modo di fargli cambiare solo la prima 
occorrenza io non l'ho trovato, puoi dirmelo?
 
-- 
Tanti saluti
 

 cambiare solo la prima occorrenza 
 
man sed comando y
 


  sed "s/[^[:space:]]*/\u&/g" nomedelfile
 
dove nomedelfile è il file che contiene il tuo elenco

   sed "s/[^[:space:]]*/\u&/g" nomedelfile
 
Non funziona.
 
I compiti a casa  devono essere fatti dallo studente.

 sed "s/[^[:space:]]*/\u&/g" nomedelfile
 
E' perfetto, molte grazie! a due cose penso che non ci sarei mai 
arrivato: due volte le quadre, ma soprattutto chiudere con le 
virgolette, senza da' errore... anzi tre: quell'& dovro' studiarci un 
bel po' per capire da dove lo dovrei dedurre, anche nei NG americani 
nessuno l'ha data una riga neppure simile a questa.
Pensa che prende anche la å -> Å (utf).
 
-- 
Tanti saluti
 

 I compiti a casa  devono essere fatti dallo studente.
 
Non lo sai che un esempio vale piu' di mille teorie? questa riga non e' 
facile trovarla sai, prima di chiedere ho guardato molto con google, 
dopo aver provato invano anche con awk, e poi a space chi c'avrebbe mai 
pensato?
 
-- 
Tanti saluti
 

 prima di chiedere ho guardato molto con google,
 
Non ci credo. E quanto anche fosse vero, perché non lo hai detto?
 
 

 casa  devono essere fatti da te,
 
Ma di' un po' chi ti credi d'essere? o meglio: guarda che sei solo 
ridicolo con questo e il seguito che dici -- adiòs, che non c'ho tempo 
per far polemiche o bisticciare.
 
-- 
Tanti saluti
 

 virgolette, senza da' errore... anzi tre
 
senza doppie quadre e senza virgolette, guarda un po'!
 
$ echo 'asia
asia minore
pippo
pippo pertica e palla' | sed s/[^\ ]\*/\\u\&/g
Asia
Asia Minore
Pippo
Pippo Pertica E Palla
$
 
ciao
-- 
Sarebbe essere un atto di pieta'. 
Contro i miei principi.                            -- whip,  in IFMdI

$ cat palla
asia
asia minore
pippo
pippo pertica e palla
$ python -c "print '\n'.join([' '.join([w.capitalize() for w in l.split()]) for l in file('palla')])"


 $
 
Bellissimo! dal confronto s'impara molto, proteggi \u par farlo 
arrivare cosi' a sed e anche l'& e la stella (lo spazio e' ovvio), 
cioe' il tutto dovrebbe essere l'analogo delle virgolette.
L'unica cosa che mi devo guardare e' che il pattern io ho sempre 
pensato fosse pattern di riga, non all'interno d'ogni singola riga.
 
Se non son troppo scorretto cambiando argomento, mi dici, se lo sai al 
volo, se con awk posso evitare la pipe a tr per togliere il newline?
Cioe' con echo basta l'opzione -n, con awk devo mettere | tr '\n' ' ' 
almeno per quanto ne so io.
 
-- 
Tanti saluti
 

Addi' 11 gen 2012, Giacomo Boffi scrive:
 

Eh con python sono a zero, per adesso m'accontento della tri... non 
ricordo come la chiamavano: sed grep cut, oppure sed grep tr ? insomma 
si diceva che si puo' far tutto.
 
-- 
Tanti saluti
 

 l.split()]) for l in file('palla')])"
 
Questa mi fa venire in mente me che ieri per lanciare due procedure Oracle 
mi sono scritto un applicativo Java
 
Enrico
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
 
iQEcBAEBAgAGBQJPDh9MAAoJED3SMOGZLYdY4ooH/3RAy5sIOymh3LQGnRe7HqFT
GXg+GJTePc7CBt6LtNsLOW29YvyYDLoLnquvh0eF/d2EO8qSm4yx01w1m1n65kPB
Q2vJ5uYNyF0ZDUQWdN7UqMSYm7bTJfav8qr8+4qaVh1Zq9VcwxvniO7sJeAcHAaW
AObh5ZfwkIvUTJzYwpQYdHKf+JL2/fJHzWogM8aGIPA4xlLCDtXVmp6tjZMzkktV
0EthnILEV4ploO/RUELFigOrQ5HjpTkbEZkJWhjIx3c/CQp1Ts18mDAh/y+jL1lp
FkZjYYujvMPhTiLxCbnU4ZLYamaXQwi5oiGFAwNoFv6B01QAbnz4HXFMNRLYus4=
=qnFn
-----END PGP SIGNATURE-----
 

 almeno per quanto ne so io.
 
... | awk 'BEGIN {ORS="\r\n"} {...}'
 
oppure aggiungi "\n" dopo il print:
 
... | awk '{... ; print OUTPUT "\n"; }'
 
-- 
Massimo Bacilieri AKA Crononauta

 ... | awk '{... ; print OUTPUT "\n"; }'
 
Cosi' infatti ne aggiunge uno di newline, cioe' stampa una riga bianca 
in piu' dopo ogni riga.
 
-- 
Tanti saluti
 


e usare semplicemente printf invece di print?
 

 e usare semplicemente printf invece di print?
 
La soluzione che ho sempre adottato e' | tr '\n' ' ' ma lo chiedevo 
solo per curiosita' perche' per anni ho usato echo pippo | tr '\n' ' ' 
prima di vedere per caso dall'help di echo che c'e' l'opzione -n, cosi' 
pensavo che magari ci fosse il corrispondente per awk, e questa sembra 
appunto la direttiva ORS=" ". Per printf dovrei riguardarmi il C che e' 
molto che non lo uso, ma per un'utility non e' il caso, era solo per 
eleganza perche' e' cmq istantanea o quasi.
 
-- 
Tanti saluti
 

 Non funziona.
 
alessandro@stn02 ~$ echo -e 'afghanistan\nåland islands\namerican samoa'
| sed 's/[^[:space:]]*/\u&/'
Afghanistan
Åland Islands
American Samoa
alessandro@stn02 ~$
 
  Si, funziona.  L'unico appunto da fare è sull'inutilità del comando
g[lobal]: il primo carattere di ciascuna riga può essere presente solo
una volta!  :-)
 
 
  Ciao,
 
 
-- 
Alessandro Selli 
http://alessandro.route-add.net
 
AVVERTENZA: i messaggi inviati a "trappola" non mi arriveranno.
WARNING: messages sent to "trappola" will never reach me.

 mi sono scritto un applicativo Java
 
  Il classico fucile usato per far fuori una zanzara!  :-)



 
non stiamo cercando solo il primo carattere di ciascuna riga, mi pare...
 
~$ echo -e 'afghanistan\nåland islands\namerican samoa'| sed 
's/[^[:space:]]*/\u&/'
Afghanistan
Åland islands
American samoa
~$ echo -e 'afghanistan\nåland islands\namerican samoa'| sed 
's/[^[:space:]]*/\u&/g'


 non stiamo cercando solo il primo carattere di ciascuna riga, mi pare...
 
  Ah!  Vero, l'esempio dell'OP ha le maiuscole anche nelle parole
successive.  Scusate.


   Il classico fucile usato per far fuori una zanzara!  :-)
 
in questi casi il bello � *COSTRUIRE* un fucile per far fuori una
zanzara
 
ciao
-- 
e di s�bito parve giorno a giorno
essere aggiunto, come quei che puote
avesse il ciel d'un altro sole addorno

 Il classico fucile usato per far fuori una zanzara!  :-)
 
Eh, e` quello che ho pensato pure io una volta finito l'applicativo :)
L'unico lato positivo e` che ora ho una piccola infrastruttura per 
implementare il lancio di attivita` di manutenzione sul database
 
Enrico