[gelöst] Ersetzen von Textblöcken mit sed

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
WernerFP
Beiträge: 261
Registriert: 30.07.2013 11:16:58

[gelöst] Ersetzen von Textblöcken mit sed

Beitrag von WernerFP » 21.02.2014 15:51:31

Kontext: Ich baue gerade einen Webauftritt, der unter anderem ein Blog beinhaltet, dessen Einträge mit Permalinks hinterlegt werden. In das Projekt kommt weder JavaScript noch PHP, sondern nur reines HTML5, CSS3 und logische Struktur. Das Grundgerüst habe ich soweit fertig.

Problemstellung: Ich will Änderungen des HTML5 Code (beispielsweise bei einer Veränderung der Meta-Daten) automatisiert auf alle html-Dateien eines Verzeichnisses anwenden.
Ich schätze mal, dass ich das idealerweise mit sed realisieren sollte. Bei den alten Hasen im Forum sehe ich immer wieder, wie mächtig dieses Werkzeug ist. Die systematische Einarbeitung in sed steht daher weit oben auf meiner Liste. Nun muss ich aber erstmal das Web-Projekt sed-kompatibel auf die Beine stellen.

Meine Frage: Wenn ich beispielsweise die Metadaten aller html-Dateien eines Verzeichnisses ändere, möchte ich diese als ganze »Textblöcke« ersetzen.
Meine Idee ist, dass ich solche variablen Blöcke im HTML-Code mit Kommentaren (gewissermaßen als Pseudoelement) versehe:

Code: Alles auswählen

<!-- Meta Start -->
	<meta content="text/html; charset=utf-8" http-equiv="content-type">
	<meta name="language" content="de">
	<meta name="description" content="Dies und Das">
	<meta name="keywords" content="Dies und Das">
	<meta name="publisher" content="Dies und Das">
	<meta name="author" content="Dies und Das" type="">
<!-- Meta Ende -->
Dann müsste es doch theoretisch möglich sein, den Textblock zwischen »Meta Start« und »Meta Ende« bei allen html-Dateien eines Verzeichnisses durch einen anderen Textblock zu ersetzen. Ist das mit sed realisierbar?

Gruß
WernerFP
Zuletzt geändert von WernerFP am 22.02.2014 02:40:12, insgesamt 1-mal geändert.

inne
Beiträge: 3273
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Ersetzen von Textblöcken mit sed

Beitrag von inne » 21.02.2014 18:43:36

Schau mal hier: viewtopic.php?t=135485

WernerFP
Beiträge: 261
Registriert: 30.07.2013 11:16:58

Re: Ersetzen von Textblöcken mit sed

Beitrag von WernerFP » 22.02.2014 02:38:47

Das ist exakt das, was ich gesucht habe!
Und wie unglaublich einfach das mit sed zu machen ist!

Herzlichen Dank für den Hinweis - auch an @newdeb für den Tipp mit dem sed c(change)-Kommando.

Gruß
WernerFP

Antworten