Índice
Existe un comando que realiza esta operación, rev
. De acuerdo a la descripción que proporciona la documentación funciona de la siguiente manera:
Copia los archivos especificados a la salida estandar, invirtiendo el orden de los caracteres de cada línea. Si no se especifican ficheros, rev lee de la entrada estandar (el teclado).
Algunos ejemplos:
echo "elbauldelprogramador" | rev
Dará el siguiente resultado:
rodamargorpledluable
Es posible usar la siguiente sintaxis:
rev<<<"Esta línea es una prueba"
Salida:
abeurp anu se aeníl atsE
Ejemplo en Perl
perl -ne 'chomp;print scalar reverse . "n";'<<<"elbauldelprogramador"
Ó
echo 'elbauldelprogramador' | perl -ne 'chomp;print scalar reverse . "n";'
Script bash para invertir cadenas
#!/bin/bash
input="$1"
reverse=""
len=${#input}
for (( i=$len-1; i>=0; i-- ))
do
reverse="$reverse${input:$i:1}"
done
echo "$reverse"
Para ejecutarlo escribimos lo siguiente en la terminal:
./script elbauldelprogramador
En los comentarios de la fuente original en nixcraft (enlace al final de la entrada) un lector escribió dos ejemplos más, en python y PHP:
Ejemplo en python:
echo foo | python -c 'import sys;print(sys.stdin.read().strip()[::-1])'
python -c 'import sys;print(sys.stdin.read().strip()[::-1])' <<< foo
Ejemplo en PHP:
echo foo | php -r 'print strrev(trim(fgets(STDIN)));'
php -r 'print strrev(trim(fgets(STDIN)));' <<< foo
Fuente original
- NixCraft »» Visitar sitio
¿Has visto algún error?: Por favor, ayúdame a corregirlo contactando conmigo o comentando abajo.