Saltar al contenido

¿Cómo eliminar los últimos n caracteres de una cadena en Bash?

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)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *