Solución:
Puedes hacer esto:
#!/bin/bash
v="some string.rtf"
v2=${v::-4}
echo "$v --> $v2"
Para eliminar cuatro caracteres del final de la cadena, utilice ${var%????}
.
Para quitar todo después de la final .
usar ${var%.*}
.
Lo que funcionó para mí fue:
echo "hello world" | rev | cut -c5- | rev
# hello w
Pero lo usé para recortar líneas en un archivo, por eso parece incómodo. El uso real fue:
cat somefile | rev | cut -c5- | rev
cut
solo lo lleva a recortar desde alguna posición inicial, lo cual es malo si necesita filas de longitud variable. Entonces esta solución se invierte (rev
) la cadena y ahora nos relacionamos con su posición final, luego usa cut
como se mencionó, y se invierte (nuevamente, rev
) vuelva a su orden original.
¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)