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.
[address]b[label]
:top
command1
command2
/pattern/b top
command3
Vamos a pensar que estamos revisando un sencillo curriculum. al cual queremos hacerle algunas modificaciones.
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
}
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
#!/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
Publicar un comentario