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

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

Re: [shell-script] Nome próprio - Mudar de minúscula p/ maiúscula


From: Moacir Souza
Subject: Re: [shell-script] Nome próprio - Mudar de minúscula p/ maiúscula
Date: Tue, 19 Jan 2010 12:54:45 -0200

     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 <address@hidden>:
> 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 <address@hidden>
>
>>
>>
>> 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: address@hidden <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: address@hidden
> ---------------------------------------------------------------------
> 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
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


reply via email to

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