station - shell usa price
usando los comandos rot13 y tr para tener una dirección de correo electrónico cifrada (3)
No estoy seguro exactamente de cómo quiere usar esto, pero aquí hay un ejemplo básico para comenzar:
echo ''[email protected]'' | tr ''A-Za-z'' ''N-ZA-Mn-za-m''
Para hacerlo más fácil, puede alias el comando tr
en su archivo .bashrc
así:
alias rot13="tr ''A-Za-z'' ''N-ZA-Mn-za-m''"
Ahora solo tienes que llamar:
echo ''[email protected]'' | rot13
He leído muchos tutoriales en Internet sobre el uso del comando ''tr''. Sin embargo, no puedo entender cómo cifrar una dirección de correo electrónico con un script de shell cambiar los caracteres con rot13. ¿Alguien puede dar un enlace o un ejemplo?
Ruby (1.9+)
$ ruby -ne ''print $_.tr( "A-Za-z", "N-ZA-Mn-za-m") '' file
Pitón
$ echo "test" | python -c ''import sys; print sys.stdin.read().encode("rot13")''
Una tarea perfecta para tr
, por cierto. Esto debería hacer lo que quieras:
tr ''A-Za-z'' ''N-ZA-Mn-za-m''
Cada carácter en el primer conjunto será reemplazado con el carácter correspondiente en el segundo conjunto. Por ejemplo, A reemplazado con N, B reemplazado con O, etc. Y luego lo mismo para las letras minúsculas. Todos los demás personajes serán pasados sin cambios.
Tenga en cuenta la falta de [
y ]
donde normalmente puede esperarlos. Esto se debe a que tr
trata literalmente los corchetes, no como expresiones de rango. Entonces, por ejemplo, tr -d ''[AZ]''
eliminará mayúsculas y corchetes. Si desea mantener sus corchetes, use tr -d ''A-Z''
:
$ echo "foo BAR [baz]" | tr -d ''[A-Z]''
foo baz
$ echo "foo BAR [baz]" | tr -d ''A-Z''
foo [baz]
Lo mismo para las clases de personajes. Por ejemplo, tr -d ''[[:lower:]]''
es probablemente un error, y debería ser tr -d ''[:lower:]''
.
Sin embargo, en situaciones afortunadas como esta, ¡puedes salir con la inclusión de los corchetes de todos modos! Por ejemplo, tr "[az]" "[AZ]"
funciona accidentalmente porque los corchetes del primer conjunto se reemplazan por corchetes idénticos del segundo, pero en realidad este es un mal hábito. Utilice tr "az" "AZ"
lugar.