Valores de plantilla para un script bash para files conf de apache

Estoy tratando de automatizar la creación de fantasmas en mi computadora. Esto es meramente una experiencia de aprendizaje para bash scripting. Actualmente soy novato. Estoy tratando de aprender más sobre awk, sed.

De todos modos, este es mi file conf. ¿Cuál sería la forma más eficiente de encontrar y replace desde la línea de command? Eventualmente replaceé algunos formularios con tokens, como {DOMINIO} y {RUTA}

NameVirtualHost commerce.l:* <Directory "/home/chris/workspace/dev.commerce/html"> Options Indexes Includes execCGI AllowOverride All Order Allow,Deny Allow From All </Directory> <VirtualHost commerce.l> DocumentRoot /home/chris/workspace/dev.commerce/html ServerName commerce.l ErrorLog logs/commerce.error <IfModule mod_rewrite.c> <Directory "/home/chris/workspace/dev.commerce/html"> RewriteEngine on # needed by Drupal 7 for "clean URLs" RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !=/favicon.ico RewriteRule ^ index.php [L] </Directory> </IfModule> </VirtualHost> 

PD: estoy en Ubuntu 11.04 natty

Esto parece un trabajo para un documento aquí : incluya la plantilla en su secuencia de commands y use $variable_name cuando desee sustituir variables, o $(shell-command) para sustituir el resultado de cualquier command de shell.

El documento aquí comienza en la línea después del marcador <<EOF (puede replace EOF por cualquier palabra) y termina en una línea que contiene exactamente EOF (no se permiten sangrías). Dentro de la plantilla, los mismos caracteres son especiales como comillas dobles interiores: "$`\ (observe la comilla inversa, que debe protegerse \` ).

 DOMAIN=commerce.l PATH=/home/chris/workspace/dev.commerce/html cat >>/etc/apache/sites-available/$DOMAIN NameVirtualHost $DOMAIN:* <Directory "$PATH"> … </VirtualHost> EOF