Vamos a hablar un poco más sobre programar scripts en Linux y veamos cómo podemos invertir una cadena con distintos métodos:
Empezamos con lo más sencillo, usar la función rev:
echo holiii | rev
Usando el comando sed dos veces, junto con tac, también podemos hacerlo:
echo holiii | sed 's/./&\n/g' | tac | sed -e :a -e 'N;s/\n//g;ta'
Ya os podéis imaginar que si podemos hacerlo con sed es que también podemos hacerlo con awk, en este caso con la función substr() y un bucle for con el que recorreremos la cadena de fin a principio pintando cada letra:
echo holiii | awk '{ for(i=length;i!=0;i--)x=x substr($0,i,1);}END{print x}'
Y no podría faltar el tradicional script de shell. El principio es el mismo que con awk: recorrer la cadena del final hacia el inicio pintando cada elemento
#!/bin/bash a="holiii" len=`echo ${#a}` while [ $len -ne 0 ] do b=$b`echo $a | cut -c $len` ((len--)) done echo $b