sed: Eliminar el prefijo y el sufijo de un string | Algo de Linux

jueves, 25 de enero de 2018

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.
Publicado por primera vez en http://enavas.blogspot.com.es

No hay comentarios: