sed: Eliminar el prefijo y el sufijo de un string

A veces necesitamos eliminar el prefijo y el sufijo de un string para quedarnos sólo con la parte central. En este caso, podemos utilizar el comando sed:

echo "$string" | sed -e "s/^$prefix//" -e "s/$suffix$//"

Supongamos que de los nombres de los ficheros de kernels instalados en mi máquina (por ejemplo: "vmlinuz-4.4.0-111-generic") quiero quedarme tan sólo con la versión "4.4.0-111". Podría hacer lo siguiente:

ls -tr /boot/vmlinuz-* | sed -e "s/^\/boot\/vmlinuz-//" -e "s/-generic$//"

En este caso:

  • El comando ls -tr /boot/vmlinuz-* obtendría la lista de kernels instalados.
  • El comando sed -e "s/^/boot/vmlinuz-//" -e "s/-generic$//" eliminaría por un lado /boot/vmlinuz- del comienzo y, por otro, -generic del final.

Be the first to comment

Por favor acceder para comentar.