El comando a (append) sirve para enviar a la salida estándar el texto indicado, sin alterar la zona de trabajo, por lo tanto, el resto de comandos del script no podrán actuar sobre el texto añadido.
El texto de todos los comandos a que hubiera en el script se enviará a la salida estándar al finalizar el ciclo, es decir, después de enviar la zona de trabajo, y en el orden de aparición en el script.
Hay dos sintaxis diferentes en función de si queremos añadir una línea o varias. Para añadir una sola línea:
a texto_hasta_final_de_línea
Como el texto es hasta el final de línea, si tuvieramos que poner algún otro comando a continuación, debe ir en otra línea o con otra opción -e.
El texto puede llevar secuencias de escape (\n, \t, \xnn, etc.), y los espacios iniciales no se tienen en cuenta.
La sintaxis para añadir varias líneas es la siguiente:
a\
texto_hasta_final_de_línea1\
texto_hasta_final_de_línea2\
...
texto_hasta_final_de_lineaN
Veamos un ejemplo que añade el carácter } después de la última línea.
$ sed -e '$a }' f
uno
dos
tres
}
La posibilidad de distribuir un comando a entre varias opciones -e es una extensión de GNU.
$ sed -e '$a\' -e '}\' -e '// Final del bloque' f
uno
dos
tres
}
// Final del bloque