Portál AbcLinuxu, 10. května 2025 11:11

Dotaz: sed - velká písmena

12.8.2012 18:21 tonda | skóre: 8
sed - velká písmena
Přečteno: 198×
Odpovědět | Admin
Ahoj všem. Pokoušel jsem se pomocí sedu odstranit velká písmena v příjmeních a nechat tam jen první písmena velká. Seznam jmen a telefonů vypadá takto:
NOVÁ Jana     725...     xyz@xy.cz
NOVOTNÝ Jan   725...     xyz@xy.cz
K výsledku jsem se sice dopracoval, ale zdá se mi to velmi komplikované a věřím, že existuje něco rozumnějšího.

Nejdříve jsem všechna písmena přepsal na malá.
sed "s/./\l&/g" soubor.txt
Poté jsem první písmena na řádku změnil na velká.
sed "s/^[a-z]/\U&/"g soubor.txt
A nakonec první písmena za mezerou na velká.
sed "s/ [a-z]/ \U&/"g soubor.txt
Určitě existuje lepší postup. Poradí někdo jak na to lépe - nemusí to být jen pomocí sedu. Děkuji Tonda

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 1× (tonda (tazatel))
12.8.2012 18:29 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: sed - velká písmena
Odpovědět | | Sbalit | Link | Blokovat | Admin
sed -re 's/^(.)([^ ]*) /\1\L\2\E /'
12.8.2012 18:43 tonda | skóre: 8
Rozbalit Rozbalit vše Re: sed - velká písmena
Klobouk dolu před všemi programátory. Já nad tím přemýšlel takovou dobu a Vy na to kouknete a hned odepisujete. Já Vám velice děkuji. Tonda

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.