Jump to content
  • Buscar en
    • Más opciones...
    Encontrar resultados que contengan...
    Encontrar resultados en...

Archivado

Este tema ahora está archivado y cerrado a otras respuestas.

Bahamut15570

ShellScript que voltee una frase

Publicaciones recomendadas

Bahamut15570 ZEUS

Publicado
vida restante: 100%
Hola.

Alguien tiene idea de como hacer un script que al introducirle una frase, te la voltee? ( Ejemplo: Hola que tal -> lat euq aloH )

He estado mirando por internet, y la cosa seria hacerlo con arrays, pero no hemos dado nada de eso, y no se me ocurre como podría hacerlo...a ver si alguien me ilumina.

"A mí, la unidad de España me suda la polla por delante y por detrás, que se metan a España en el puto culo, a ver si les explota dentro y les quedan los huevos colgando del campanario; que vayan a cagar a la puta playa con la puta España, que llevo desde que nací con la puta España, vayan a la mierda ya con el país ese y dejen de tocar los cojones"

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

Andrei_Kirilenko King

Publicado
vida restante: 100%
Curiosamente no recuerdo yo tampoco haber dado arrays, pero en fin, no creo que sea difícil después de haber visto un puñado de lenguajes de programación.

No se si esto se adecua a lo que buscas, me ha costado más de lo esperado debido a que no recuerdo mucho de programación en Shell, pero bueno, a ver si te sirve.

[code:1]#!/bin/bash

echo "$1" > 7uj3nf.txt # fichero temporal

cant=$(wc -c 7uj3nf.txt | cut -d " " -f 1) # leemos la cantidad de caracteres del fichero temporal

# echo "$cant" # Comprobante del anterior comando

if [ $cant = 1 ]
then
echo 'La cadena está vacía'
else
# echo "ENTRA: $cant" # Comprobante

cant=$(expr ${cant} \- 1)

while [ ${cant} -gt 0 ]
do

# echo "ENTRA 2: $cant & " $(cat 7uj3nf.txt) # Comprobante

letra=$(cat 7uj3nf.txt | cut -c ${cant})
echo -n "$letra"

if [ "$letra" = "" ]
then
echo -n " "
fi

cant=$(expr ${cant} \- 1) # Descenso contador
done
fi

echo ""
rm 7uj3nf.txt[/code]
El programa utiliza un fichero auxiliar para contar el número de caracteres, si hay algo que no entiendes, pregunta.

Tampoco es que le haya dado una prueba muy exhaustiva, con lo que te recomiendo que intentes petarlo.

Para "invocar" el script tienes que hacerlo de la siguiente manera.

[code:1]./script.sh "cadena a voltear"[/code]

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

Jeremy_Hartwood Bendecido por San iGNUcio

Publicado
vida restante: 100%
Quizás la gracia del ejercicio está en hacerlo a mano, como bien lo indica Andrei, pero se puede hacer mucho más sencillo con rev. Un ejemplo:

[code:1]
echo "cadena" | rev
[/code]

La salida sería: anedac.

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

Andrei_Kirilenko King

Publicado
vida restante: 100%
No sabía yo eso, gracias Hartwood.

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web
Guest
Este tema está cerrado a nuevas respuestas.

  • Crear nuevo...