Mitleser: In allen Dateien in Tag Attribut einfügen, wenn nicht vorhanden

Beitrag lesen

ich suche nach einem Tool, mit dem ich in alle Dateien in einem Verzeichnis prüfen kann, ob ein spezieller Tag ein Attribut enthält und wenn nicht, dann automatisch einfügt.

Welche platform? mit einem kleinen (zb. ruby) script ist das ganz einfach lösbar.

  1. Für jede .svg in $verzeichnis
  2. Datei komplett lesen und parsen (in ruby würde man das z.B. mit Nokogiri machen)
  3. Alle betreffenden tags im DOM suchen,
  4. checken ob das attribut existiert, wenn nicht hinzufügen.
  5. Resultat in einer neuen datei speichern.
  6. Profit.

Was aber ebenso wie Toms und Unitedpowers Lösungsvorschlag (scheint mir der eleganste von den dreien) das Markup potentiell weitergehend verändern kann, als nur das Attribut hinzuzufügen. Scheint mir gefährlich.

Ich hab zwar ein paar Tools gefunden, mit denen ich alle Dateien nach einem regulären Ausdruck suchen kann, aber ich weiß nicht, aber dort gibts nur ein Suchen und Ersetzen und ich will ja einfügen und auch nur dann wenn ein Attribut nicht vorhanden ist.

Das ginge sicher auch mit tools wie sed, aber da musst du regular expressions benutzen was gewöhnlich zu einer latte von kopfschmerzen und anderen problemen führt.

In dem Fall würde ich Regexp tatsächlich vorziehen, soweit das Markup der SVG-Dateien auch hinreichend konsitetent und prägnant an der fraglichen Stelle ist.