shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Re: Maiúscula e minúscula


From: Julio C. Neves
Subject: Re: [shell-script] Re: Maiúscula e minúscula
Date: Wed, 28 Jul 2010 16:44:14 -0300

Me esqueci de dar uma dica, que é uma novidade do Bash 4.0. Por falar nisso,
já publiquei no meu site, www.julioneves.com, as alterações que fiz no meu
livro da 7ª para a 8ª edição [ChangeLog da 7a. edição] e lá tem muita coisa
importante do bash 4.0.

Voltando ao assunto de maiúsculas minúsculas no bash 4.0, veja isso:

$ Nome=cesar
$ echo ${Nome^}
Cesar
$ echo ${Nome^^}
CESAR
$ Nome=CESAR
$ echo ${Nome,}
cESAR
$ echo ${Nome,,}
cesar

Abraços,
Julio
Cursos de Shell e Zenity em 2 fins de semana?
- SE turma de Shell/Zenity em 13/09 - address@hidden
- SP turma de Shell em 14/08 - www.4Linux.com.br
<http://www.4linux.com.br/>
- Turmas fechadas em outras cidades ligue (21)8112-9988.


Em 28 de julho de 2010 16:31, Julio C. Neves
<address@hidden>escreveu:

> Fala Cesar,
> o que fiz foi trocar o [a-z]+, isto é pelo menos uma minúscula, por
> [a-z]{3,}, isto é, pelo menos 3 minusúsculas. A linha fiaca assim:
>
> $ sed -r 's/\b[a-z]{3,}/\u&/g' <<< "coordenacao de analise e instrucao de
> processos"
> Coordenacao de Analise e Instrucao de Processos
>
> Abraços,
> Julio
> Cursos de Shell e Zenity em 2 fins de semana?
> - SE turma de Shell/Zenity em 13/09 - address@hidden
> - SP turma de Shell em 14/08 - www.4Linux.com.br
> - Turmas fechadas em outras cidades ligue (21)8112-9988.
>
>
> Em 28 de julho de 2010 15:33, César Vianna <address@hidden>escreveu:
>
>
>>
>> Resgatando a dificuldade já tratada...
>> O problema original era alterar nomes compostos em minúsculo, deixando a
>> primeira letra em maiúsculo.
>> Agora surgiu a seguinte variação:
>>
>> :~$ echo "coordenacao de analise e instrucao de processos" | sed -r
>> 's/\b[a-z]+/\u&/g'
>> Coordenacao De Analise E Instrucao De Processos
>>
>> O problema é que o "De" e o "E" precisariam estar em minúscula.
>>
>> Uma solução é no sed acima não considerar palavras com 1 ou 2 letras...
>>
>> Mas, não consegui fazer essa alteração.
>>
>> 2008/4/4 Flavio Junior <address@hidden <billpp%40gmail.com>>
>>
>> > Um pouco mais simples, ainda com sed:
>> >
>> > $ cat xyz | sed -r 's/\b[a-z]+/\u&/g'
>> > Alfredo Morto
>> > Alberto Roberto
>> > Macaco Malandro Balh Ble
>> > Tatu Preguicoso
>> > Prego Batido
>> > Urangotango Chines
>> >
>> > \b == border (inicio de linha, espaço, tab ... essas coisa)
>> > \u == uppercase
>> > & == a regex que foi casada no primeiro campo...
>> >
>> > Ou seja:
>> > Case border+letra minuscula, imprima em uppercase o que foi casado.
>> >
>> > Sorte,
>> >
>> > Flávio do Carmo Junior aka waKKu
>> > #bash-br @ irc.freenode.net
>> >
>> > 2008/4/4 voyeg3r <address@hidden <voyeg3r%40yahoo.com.br><voyeg3r%
>> 40yahoo.com.br>>:
>> >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > > Só para constar. A mesma solução usando o vim, para casos em que
>> > > você só tenha o vim seria assim:
>> > >
>> > > # abrir todos os arquivos
>> > > vim *.txt
>> > >
>> > > # disparar o comando bufdo
>> > >
>> > > :bufdo :%s/^./\U&/g | :wall
>> > >
>> > > # dar alguns enteres confirmando e finalmente digitar
>> > > :qall
>> > >
>> > > --- Em address@hidden<shell-script%40yahoogrupos.com.br>
>> <shell-script%40yahoogrupos.com.br>,
>> > "Ivan lopes"
>> > > <lopesivan.del@...> escreveu
>> > > >
>> > > > cat xyz | sed 's/\(^\)\?\([^ ]*\)/\u&/g'
>> > > > Alfredo
>> > > > Alberto
>> > > > Macaco
>> > > > Tatu
>> > > > Prego
>> > > > Urangotango
>> > > > Cesar Eduardo Motta Vianna
>> > > >
>> > >
>> > >
>> >
>> >
>>
>> --
>> César Vianna
>> -------------------
>> Prefira o que é positivo e múltiplo; a diferença à uniformidade; o fluxo
>> às
>> unidades; os agenciamentos móveis aos sistemas.
>> Gilles Deleuze & Felix Guattari
>> ******************************************************
>> FISL11 - Forum Internacional Software Livre
>> Intl. Free Software Forum - http://www.fisl.org.br/
>> 21~24::Julho||July::2010 - Porto Alegre - Brasil
>> ******************************************************
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>>  
>>
>
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]