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 - clemis...@gmail.com - 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 <julione...@openoffice.org>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 - clemis...@gmail.com > - 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 <cesar.via...@gmail.com>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 <bil...@gmail.com <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 <voye...@yahoo.com.br <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 shell-script@yahoogrupos.com.br<shell-script%40yahoogrupos.com.br> >> <shell-script%40yahoogrupos.com.br>, >> > "Ivan lopes" >> > > <lopesivan....@...> 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] ------------------------------------ --------------------------------------------------------------------- Esta lista não admite a abordagem de outras liguagens de programação, como perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso. --------------------------------------------------------------------- Sair da lista: shell-script-unsubscr...@yahoogrupos.com.br --------------------------------------------------------------------- Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net --------------------------------------------------------------------- Servidor Newsgroup da lista: news.gmane.org Grupo: gmane.org.user-groups.programming.shell.brazil Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/shell-script/ <*> Para sair deste grupo, envie um e-mail para: shell-script-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html