Daniel, Parâmetros como o \U, \L, \E são bastante úteis, mas não aparecem no man do sed (ao menos no meu). Para maiores detalhes, acesse info sed e busque pela seção * The "s" Command:: `sed''s Swiss Army Knife.
[]'s, Moacir Filho P.S.: Mestre Julio, tem que aparecer aqui por Brasília de novo para uma atualização do Curso de Shell com essas magavilhas do bash 4, hein? (E para tomar um chope comigo e com o Pastore, claro). 2010/1/19 Julio C. Neves <julio.ne...@gmail.com>: > Fala Daniel, > Isso não vai resolver o teu problema especificamente, mas vale para mostrar > para o pessoal as novidades do bash 4.0 que estou incorporando ao meu livro. > > > - > > ${parâmetro^} > - > > ${parâmetro,} > > Essas expansões foram introduzidas a partir do Bash 4.0 e modificam a caixa > das letras do texto que está sendo expandido. Quando usamos circunflexo (^), > a expansão é feita para maiúsculas e quando usamos vírgula (,), a expansão é > feita para minúsculas. > > Exemplo: > > *$ Nome="botelho"* > > *$ echo ${Nome^} * > > Botelho > > *$ echo ${Nome^^} * > > BOTELHO > > > *$ Nome="botelho carvalho"* > > *$ echo ${Nome^} * > > *Botelho carvalho **Que pena...* > > > Um fragmento de *script* que pode facilitar a sua vida: > > read -p "Deseja continuar (s/n)? " > > [[ ${REPLY^} == N ]] && exit > > > Esta forma evita testarmos se a resposta dada foi um N (maiúsculo) ou um n > (minúsculo). > > No *Windows*, além dos vírus e da instabilidade, também são frequentes nomes > de arquivos com espaços em branco e quase todos em maiúsculas. No exemplo > anterior, vimos como trocar os espaços em branco por sublinha (_), no > próximo veremos como passá-los para minúsculas: > > *$ cat trocacase.sh* > > #!/bin/bash > > # Se o nome do arquivo tiver pelo menos uma > > #+ letra maiúscula, troca-a para minúscula > > for Arq in *[A-Z]* *Pelo menos 1 minúscula* > > do > > if [ -f "${Arq,,}" ] *Arq em minúsculas já existe?* > > then > > echo ${Arq,,} já existe > > else > > mv "$Arq" "${Arq,,}" > > fi > > done > > Abraços, > Julio > Cursos de Shell e Zenity em 2 fins de semana? > - Em SP ligue (11)2125-4747; > - Em DF ligue (61) 3223-3000; > - Turmas fechadas em outras cidades ligue (21) 8112-9988. > > > > 2010/1/19 Daniel Merli Morais <dmerlimor...@gmail.com> > >> >> >> Pessoal, como converter apenas o primeiro caracter de cada palavra p/ >> maiúsculo? Por exemplo, em um arquivo que contenha nomes próprios: >> >> João silva >> Fulano ciclano >> Maria oliveira >> >> Deveria ficar da seguinte forma: >> >> João Silva >> Fulano Ciclano >> Maria Oliveira >> >> Com o sed consigo localizar o padrão espaço+minúscula: / [a-z]/, porém não >> consigo substituir a primeira letra após o espaço por sua correspondente em >> maiúscula. Disse a primeira letra após o espaço porque a primeira letra de >> cada linha já está em maiúscula no meu arquivo, então só precisaria me >> preocupar com os sobrenomes. >> >> Obrigado desde já. >> >> -- >> "A maior virtude do sábio é mostrar-se ignorante diante daquilo que >> desconhece" >> >> Daniel Merli Morais >> Enterprise Application Integration - Configuration Manager >> Sprint / IBM Brasil >> MSN: merli...@hotmail.com <merlipol%40hotmail.com> >> LinkedIn: www.linkedin.com/in/dmerlimorais >> >> [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 > > > -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Moacir da Cruz Souza Filho -Analista de Sistemas: Suporte Unix Avançado Serviço Federal de Processamento de Dados -Mestrando em Ciências da Computação Universidade de Brasília -Bacharel em Engenharia da Computação Escola Politécnica de Pernambuco Universidade de Pernambuco -Técnico em Eletrônica Escola Técnica Federal de Pernambuco -Linux user #449600 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=