Skip to content

Instantly share code, notes, and snippets.

@rodrigolive
Last active March 4, 2021 19:57
Show Gist options
  • Save rodrigolive/8b609f4eb3c7912e59a07d133a26360b to your computer and use it in GitHub Desktop.
Save rodrigolive/8b609f4eb3c7912e59a07d133a26360b to your computer and use it in GitHub Desktop.
08 : add_chelou
#!/bin/bash
echo $FT_NBR1 + $FT_NBR2 | tr "'"'\\\"\?\!' 01234 | tr 'mrdoc' 01234 | sed 's/^/obase=13; ibase=5;/' | bc | tr 0123456789ABC 'gtaio luSnemf'
@rodrigolive
Copy link
Author

Para probarlo, en el shell:

FT_NBR1='\'"'"'?"\"'"'"'\' FT_NBR2=rcrdmddd ./add_chelou.sh

@rodrigolive
Copy link
Author

rodrigolive commented Mar 4, 2021

Este ejercicio trata de convertir (codificar) secuencia de caracteres en números.

tr "'"'\\\"\?\!' 01234
Convierte ' en 0, \ en 1, " en 2, ? en 3 y ! en 4.

tr 'mrdoc' 01234
Converte m=0, r=1, d=2, o=3, c=4

sed 's/^/obase=13; ibase=5;/'
añade obase=13; ibase=5 al principio de la línea. Esto son instrucciones para la calculadora a continuación:

bc
Es una calculadora, que recibe unas instrucciones en texto y saca un resultado numérico. Las instrucciones en texto se parecen a esto:

obase=13; ibase=5; 10321201 + 14120222

Que bc sumará utilizando una base de entrada 5 (input base o ibase) y una base de salida (output base o obase) de 13.

tr 0123456789ABC 'gtaio luSnemf'
Cogemos el resultado de la suma y lo reemplazamos por letras de la base gtaio luSnemf para volver a tener un texto de salida.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment