Ich versuche, den Unterschied zwischen zwei htmls zu bekommen. Aber wenn es ein Attribut namens my-attribute in der Zeichenfolge gibt, möchte ich mein-Attribut und seinen Wert bei der Berechnung von diff ignorieren.Diff mit sed funktioniert nicht
Ich benutze diff-Dienstprogramm, um Unterschiede zwischen Dateien zu erhalten.
Die folgende Regex funktioniert außerhalb Diff.
sed -E '[email protected](my-attribute)="[^"]*" @@g' html1.html
html1.html ist als
<html>
<body>
<div>
<span my-attribute="8885" >html1</span>
</div>
</body>
</html>
Aber innerhalb diff folgt, Wenn ich die gleiche sed verwenden, ist es mir ein Syntaxfehler geben
bash -c 'diff -y <(sed -E '[email protected](my-attribute)="[^"]*" @@g' html1.html) <(sed -E '[email protected](my-attribute)="[^"]*" @@g' html2.html)'
Das den Fehler verursacht: Syntaxfehler in der Nähe von unerwartetem Token `('
Würde mich über jede Hilfe freuen, um den Befehl richtig zu bekommen.
Edit: Hinzufügen html2.html
<html>
<body>
<div>
<span my-attribute="123" >html2</span>
</div>
</body>
</html>
@Inian hinzugefügt html2.html – ConfusionPrevails