Ich habe versucht, herauszufinden, wie ich bestimmte Zeichenfolgen in CSS-Dateien, die die gleiche Zeichenfolge CSS-Variable, die ich ersetzen möchten, ersetzen durch mehrere Dateien gleichzeitig mit Bash ersetzen möchten, zu vermeiden die mühsame Aufgabe, jede Instanz der CSS-Datei in jedem Verzeichnis zu öffnen, nur um bestimmte Zeichenfolgen in diesen CSS-Dateien zu ersetzen.Ersetzen mehrerer CSS-Stil Zeichenfolgen mit sed
in meinen CSS-Dateien Ich möchte bestimmte Zeilen im CSS-Code auskommentieren, aber ich habe Probleme, bestimmte Zeichen zu umgehen und diese Zeile mit einer auskommentierten Zeile zu konvertieren, dh; outline-style: dashed;
mit /*outline-style: dashed;*/
ich kann nicht herausfinden, wie die :
und ;
Zeichen zu entkommen, sowie die folgenden zur Kommentierung aus Linien /* */
, was ich bisher ausprobiert habe, aber für mich nicht arbeitete, war die folgende unter Verwendung xargs mit Perl;
find . -type f | xargs perl -e 's/outline-style dashed;/\/*outline-style dashed;*/\/g;'
aber dies gibt eine Fehlermeldung,
Backslash found where operator expected at -e line 1, near "s/outline-
style dashed;/\/*outline-style dashed;*/\"
syntax error at -e line 1, near "s/outline-style dashed;/\/*outline-
style dashed;*/\"
Search pattern not terminated at -e line 1.
xargs: perl: exited with status 255; aborting
ich auch mit der Verwendung von sed versucht, die mit
indem Sie versuchen, für die meisten einfach von Ersatz zu funktionieren scheintfind . -type f -exec sed -i 's/$^outline-style\: dotted\;/\/*outline-style\: dotted\;/g' *.{css} \;
aber nicht ziemlich Arbeit, das gibt nur Fehler zurück, die sagen sed: can't read *.{css}: No such file or directory
Ich versuchte Witz hout die *.{css}
dort hinzufügen, aber immer noch gibt mir die gleichen Fehler, aber ohne Ausgabe Änderungen an einer der CSS-Dateien.
hmm scheint, dass diese auch nicht funktionieren, es schreibt nicht in die CSS-Dateien, aber sie stellen nicht einmal Fehler dar, was bedeutet, dass sie ausgeführt wurden, aber sie haben nichts getan. –
@ user94959 Wenn die Linie genau im Umriss-Stil: gestrichelt ist, sollten beide korrekt funktionieren. Benutzt du Tabs oder etwas, das nicht im Sed enthalten ist? – PesaThe
@ user94959 Beachten Sie, dass dies auch fehlschlägt, wenn Ihre Daten DOS-Endzeilenzeichen haben. In diesem Fall müssten Sie die Dateien entweder in das Unix-Format konvertieren oder das '\ r'-Zeichen in Ihrem' sed' hinzufügen. – PesaThe