Branching

En Sed es posible crear flujos de control a través de etiquetas. Dependiendo de las necesidades que cada sysadmin tenga, la complejidad irá de menor a mayor. Hay una clase similar de condicional, la cual explicaremos en el siguiente post.


Forma general:


    [address]b[label]

Ejemplo


    :top
    command1
    command2
    /pattern/b top
     command3



Siendo un poco más pedagógicos.


Vamos a pensar que estamos revisando un sencillo curriculum. al cual queremos hacerle algunas modificaciones.


CV

 Operating Systems
     Linux
     Solaris
     FreeBSD
     NetBSD
     OpenBSD
 Application Servers
     JBoss 6
     JBoss 7

El primer script de Sed solo hace una modificación y sale.



#!/bin/sed -f

/JBoss / {
       s/JBoss/RedHat JBoss/
       :subs
       n
       b subs
       }
~            




A continuación, cambiando la posición de la etiqueta, se realizan todas las substituciones y se sale del flujo.

#!/bin/sed -f

/JBoss / {
       :subs
       s/JBoss/RedHat JBoss/
       n
       b subs
       }

Comentarios

Entradas populares