[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Converter de maiuscula para minuscula com SED
From: |
Paulo |
Subject: |
Re: [shell-script] Converter de maiuscula para minuscula com SED |
Date: |
Thu, 14 Feb 2019 19:33:34 -0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.0 |
Olá Bruno, com sed, além dos escapes que o Sidney mostrou, tem o comando 'y',
mas ele substitui tudo, sem controle.
echo ABCA|sed 'y/A/a/'
aBCa
echo ABCA|sed 'y/A/a/1'
sed: -e expressão #1, caractere 7: há caracteres sobrando após o comando
Substitui o primeiro caracter da primeira sequência pelo primeiro da segunda
e assim por diante. (tripa copiada do pdf do Aurélio :)
https://aurelio.net/sed/livro/)
sed
'y/ABCDEFGHIJKLMNOPQRSTUVWXYZÁÀÃÂÉÊÍÓÕÚÜÇ/abcdefghijklmnopqrstuvwxyzáàãâéêíóõúüç/'
Os escapes permitem muito mais controle no comando 's' (copiado do info sed).
Mas só no GNU sed.
Finally, as a GNU 'sed' extension, you can include a special sequence
made of a backslash and one of the letters 'L', 'l', 'U', 'u', or 'E'.
The meaning is as follows:
'\L'
Turn the replacement to lowercase until a '\U' or '\E' is found,
'\l'
Turn the next character to lowercase,
'\U'
Turn the replacement to uppercase until a '\L' or '\E' is found,
'\u'
Turn the next character to uppercase,
'\E'
Stop case conversion started by '\L' or '\U'.
Essa substituição sed -r 's/[[:upper:]]*/[[:lower:]]/'
não dá certo porque a segunda parte do comando 's' é string e não ER.
echo aBC|sed -r 's/[[:upper:]]/[[:lower:]]/'
a[[:lower:]]C
echo aBC|sed -r 's/[[:upper:]]/[[:lower:]]/g'
a[[:lower:]][[:lower:]]
Abraços Paulo
On 14/02/2019 15:46, Sidney Souza address@hidden [shell-script] wrote:
Veja se esses exemplos lhe ajudam
$ echo "CONVERTE AI" | sed -r 's/(.*)/\L\1/g'
converte ai
$ echo "converte ai" | sed -r 's/(.*)/\U\1/g'
CONVERTE AI
Aqui estou usando o \L para converter para lower case e o \U para converter
para upper case
------------------------------------------------------
http://www.politicos.org.br
On Thu, Feb 14, 2019 at 3:21 PM address@hidden <mailto:address@hidden> [shell-script]
<address@hidden <mailto:address@hidden>> wrote:
__
Olá a todos,
Estou tendo dificuldades em converter letras/arquivos de minuscula para
maiuscula e vice versa usando o
SED, mas não esta funcionando.
sed -r 's/[[:upper:]]*/[[:lower:]]/'
Ele consegue pegar todas as letras maiusculas no caso acima, mas troca
todas as letras por '[[:lower:]]'.
Poderiam me dar uma dica para esse problema?
Desde já, muito obrigado a todos.
--------------------------------------------------------------------------------------------------------------
Enviado por: Sidney Souza <address@hidden>
--------------------------------------------------------------------------------------------------------------
Responder através da web