Miguxeitor.sed - converse com seus miguxos
Publicado por Marcos Paulo Ferreira (última atualização em 05/03/2010)
[ Hits: 6.434 ]
Homepage: http://daemoniolabs.wordpress.com
O Miguxeitor é um script criado pelo Aurélio Marinho Jargas que transforma um texto do português para o miguxês.
Visitando a página do script, percebi que ele é escrito basicamente em Java Script. Então, fazendo uma modificação ali e outra aqui, consegui transformá-lo para a sintaxe do sed. xD
Só que o arquivo de saída ficou um pouco grande (não muito, mas é considerável), então resolvi postar aqui um script que analisa o código do miguxeitor em js e o transforma em sed.
= Uso =
1) Para utilizar o script, primeiro você deve salvar o código fonte da página abaixo com o nome de miguxeitor.htm (no Firefox: View Page Source > File > Save Page As):
http://www.coisinha.com.br/miguxeitor/
2) Em seguida você precisa gerar o miguxeitor para sed e torná-lo executável:
$ ./miguxador.sed miguxeitor.htm > miguxeitor.sed
$ chmod +x miguxeitor.sed
3) Pronto! O Miguxeitor em sed foi gerado e está pronto para ser usado. =D
$ echo 'Porque nós amamos a liberdade, amigos!!' | ./miguxeitor.sed
pq nuxXx amamuxXx a liberdadi...miguxXxuxXx!!!!!!!!!!
Observações:
1) Como o script está em sed, ele não possui a função camelize(), que é responsável pela alternância aleatória entre letras maiúsculas e minúsculas. Escrevi esse script visando o sed e não o shell scripting. Entretanto, você pode fazer a sua própria função camelize() em outra linguagem de programação e escoar a saída do miguxeitor.sed para seu programa. =D
2) O script original possui três levels (ICQ, MSN, Orkut). O miguxador.sed gera o Miguxeitor utilizando o level 3 (Orkut).
Eh iXXu ae miguxXxuxXx...ati a proxXximah!!!!! VivaolinuxXx
AbracuxXx
t+
#!/bin/sed -rnf
# Miguxador.sed -> Gerador do Miguxeitor em sed
# Autor: Daemonio ( undefinido at gmail.com)
#
# Sobre o Miguxeitor:
# Autor: Aurelio Marinho Jargas (http://aurelio.net)
# Pagina: http://www.coisinha.com.br/miguxeitor/
#
# Dom Fev 21 13:10:06 BRT 2010 Inicio e finalizacao
# Tue Feb 23 05:49:59 BRT 2010 Envio para publicacao
#
# [ Uso ]
# Antes de tudo, pegue o codigo fonte da pagina:
# --> http://www.coisinha.com.br/miguxeitor/
# e salve como miguxeitor.htm
#
# Depois, digite na linha de comando:
# $ ./miguxador.sed miguxeitor.htm > miguxeitor.sed
# $ chmod +x miguxeitor.sed
#
# Pronto! O miguxeitor.sed foi criado e se tornou um script
# executavel. Agora e' so brincar com ele!!!
# $ echo 'Entre aqui com sua frase.' | ./miguxeitor.sed
# Entre aki kum suah frase......
#
# Se for a primeira linha, adiciona o shebang
1i\
#!/bin/sed -rf\
# Miguxeitor by Aurelio Martins Jargas\
# --> http://www.coisinha.com.br/miguxeitor/\
# Versao para sed by Daemonio\
# --> undefinido at gmail.com\
#
bbegin
# Transforma as regexes do Java Script para as regexes
# do sed.
:transformar
s,\$([0-9]),\\\1,g
s@^[^/]*/([^/]*)/([^,]*),[^']*'([^']*)'.*@s%\1%\3%\2@p
b
# Ignora todas as linhas que nao fazem parte do level 3
:begin
/if \(level(<3|==1|==2)\)/ {
:a
n
/}/!ba
bbegin
}
# Excecoes do level 3
/No MSN o som da letra vira a palavra/{n;n;n;n;b;}
/bug: 2\)sol>sou>so/{n;b;}
# Ignorar comentarios
/^[ \t]*\/\//b
/t = t\.replace/btransformar
# Se encontrou essa linha, entao o script finaliza.
/Mostra o texto miguxado na tela/q
organização_topografia primeiro arquivo
Divide um arquivo em 1 palavra por linha
programando para desligar o computador
Atualiza núcleo do sistema para Kernel 4.4 (Ubuntu)
O Journal no Linux para a guarda e consulta de logs do sistema
A evolução do Linux e as mudanças que se fazem necessárias desde o seu lançamento
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Sway no Arch Linux: configuração Inicial sem enrolação
Resolvendo o bloqueio do Módulo Warsaw no Arch Linux (Porta 30900)
Continuando meus tópicos anteriores (1)
Saída de loop após teste de if. (2)
Governo da França vai trocar Windows por Linux (9)
Warsaw não é reconhecido no Google Chrome 147.0.7727.55 [RESOLVIDO] (9)









