Comando tr (Maiusculas e minusculas)

Iniciado por maçarico, 02 de Setembro de 2010, 04:31

tópico anterior - próximo tópico

Como mudar as maiusculas e minusculas numa lista de palavras?

1
0 (0%)
2
0 (0%)

Total de membros que votaram: 0

maçarico

Olá a todos. :)
Tenho um ficheiro (teste.txt) com uma lista de várias palavras estão todas em minusculas, pretendo mudar a forma dessas palavras.

Exemplo n.º1  praia ->praiA Só a ultima letra fica maiuscula
Exemplo n.º2  praia ->PrAiA Alterna as letras entre maiusculas e minusculas
Exemplo n.º3  praia ->PRaiA Maiusculas e minusculas de 2 em 2 letras.

É possivel?
Sei que o comando tr faz isso, mas apesar de usar computador à 5 anos só recentemente é que mudei para ubuntu antes usava Windows.

Abraço

ucastrobr

http://tutoriaisubuntu.blogspot.com/2009/03/configure-o-gedit.html

O editores gedit , vi só tem opção para alterar maiscúla e minúscula para palavra inteira.

Seria mais fácil você instalar alguma linguagem de programação e criar um programinha para fazer isso. Visto que isso é algo simples de se fazer.
Spock – "After a time, you may find that having is not so pleasing a thing, after all, as wanting. It is not logical, but it is often true."
("Depois um de tempo você vai perceber que ter algo pode não ser tão prazeroso quanto deseja-lo. Isto não é lógico, mas frequentemente é verdade.")

maçarico

Olá ucastrobr, o problema é que eu não domino programação.  :-[
Se for possivel e tiver disponibilidade dá para voce fazer esse programa para mim(por favor) ?


ucastrobr

Sei fazer em java, mas estou sem o compilador instalado para criá-lo.
Ja tentou usar além do tr, existe o sed, o wc e vários outros que vc pode criar um script.

http://thobias.org/doc/sosed.html

Vou dar um exemplo com o sed:
Tenho um arquivo com uns 500 nomes completos (um em cada linha). Está tudo
em minúscula e preciso passar só a primeira letra de cada nome para
maiúscula.

Ex.

cesar eduardo motta vianna

passar para

Cesar Eduardo Motta Vianna

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.
Spock – "After a time, you may find that having is not so pleasing a thing, after all, as wanting. It is not logical, but it is often true."
("Depois um de tempo você vai perceber que ter algo pode não ser tão prazeroso quanto deseja-lo. Isto não é lógico, mas frequentemente é verdade.")

maçarico

Olá ucastrobr, obrigado pela ajuda...só agora é que estou a dar os primeiros passos na programação mas deu para compreender o programa feito por voce, tentei modificar o mesmo para alterar a ultima letra "do arquivo com 500 nomes" mas não consegui, não querendo abusar mas se possivel...como alterar a ultima letra de 500 nomes de um arquivo txt?
Ex: nomes.txt                        teste.txt
     carla                                carlA
     paulo                               paulO
     nelson                              nelsoN
     joão                                 joãO

nomes.txt = arquivo com 500 nomes
teste.txt = resultado final.


Muito obrigado, cumprimentos.  :D

ucastrobr

#5
No linguagem python que já existe um compilador no Ubuntu dá para brincar de maiúscula e minúscula.

abra um editor de texto no terminal
gedit

Cole o que estiver abaixo em negrito no editor de texto e onde está escrito 'testando' substitua por qualquer palavra deixe as aspas:
#!/usr/bin/env python
# *-* coding: utf-8 *-*
titulo = 'testando'
print(titulo.upper())
print(titulo.lower())
print(titulo.title())
print(titulo.capitalize())
print(str.swapcase(titulo.title()))


Salve o arquivo com o nome teste.py.
Depois digite o comando:
chmod +x teste.py

Pronto agora você tem permissão para executá-lo.
Para abri-lo digite num terminal:
./teste.py


Spock – "After a time, you may find that having is not so pleasing a thing, after all, as wanting. It is not logical, but it is often true."
("Depois um de tempo você vai perceber que ter algo pode não ser tão prazeroso quanto deseja-lo. Isto não é lógico, mas frequentemente é verdade.")

maçarico

Olá ucastrobr, todos os dias aprendo algo...muito obrigado pela ajuda.  :)

zeroday

Não sabia que tinha que dar permissão de execução para arquivos em python.  Vivendo e aprendendo. ;D
"Lutar sempre , vencer na medida do possível , desistir jamais."