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 <[email protected]> > 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 <[email protected] <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 [email protected]<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]
