PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bestimmte Zeilen aus einer Datei löschen (Bash)



ballaballa
06-03-2004, 22:21
Hallo,

ich habe ein Userscript, dass mir einen User, ein User-Heimverzeichnis + public_html-Unterverzeichnisses, einen MySQL-User, die angegebene Anzahl MySQL-Datenbanken und zehn Zeilen in der /etc/apache/conf.d/virtualhosts (zwei VirtualHosts) erstellt.
Da sich das Löschen all dieser Sachen per Hand, wenn es denn irgendwann notwendig sein sollte, wahrscheinlich komplex gestalten würde, habe ich mir ein User-Wieder-Lösch-Script geschrieben.
Alles kein Problem bis auf die zehn Zeilen in der /etc/apache/httpd.conf.
Wie kann ich die jetzt wieder löschen? Ich kenne zwar sed und awk, habe aber keine Ahnung von ihrer Syntax.

Folgendes sind die relevanten Zeilen, mit denen ich die Zeilen reinschreibe:
printf "<VirtualHost *>\nDocumentRoot /home/$username/public_html\nServerName $subdomain.rhserver.de\n</VirtualHost>\n\n" \
>> /etc/apache/conf.d/virtualhosts
printf "<VirtualHost *>\nDocumentRoot /home/$username/public_html\nServerName www.$subdomain.rhserver.de\n</VirtualHost>\n\n" \
>> /etc/apache/conf.d/virtualhosts
/etc/init.d/apache reload

Die Zeilen sehen in der /etc/apache/conf.d/virtualhosts wiefolgt aus:
<VirtualHost *>
DocumentRoot /home/USERNAME/public_html
ServerName XYZ.rhserver.de
</VirtualHost>

<VirtualHost *>
DocumentRoot /home/USERNAME/public_html
ServerName www.XYZ.rhserver.de
</VirtualHost>



Weiß also einer von euch, wie ich die Zeile
DocumentRoot /home/$username/public_htmlfinden kann? Dann müsste ich halt noch die zwei vorhergehenden Zeilen und die sieben nachfolgenden Zeilen löschen.
Oder habt ihr einen anderen Lösungsansatz?
Nur wie das Ganze??


Vielen Dank schon einmal für eure Hilfe!