sed, erhalte einen Fehler: sed -e Ausdruck Nr. 1, Zeichen 28: nicht beendeter Befehl „s“

sed, erhalte einen Fehler: sed -e Ausdruck Nr. 1, Zeichen 28: nicht beendeter Befehl „s“

Wenn ich das tue:

sed 's/@driver.quit/#@driver.quit' set_QA_district_name_spec.rb 

Ich erhalte den im Titel angezeigten Fehler.

Wie kann ich diesen Fehler umgehen, was ist falsch?

Antwort1

Dem Ersatzausdruck fehlte der abschließende Schrägstrich, zB

sed 's/@driver.quit/#@driver.quit' set_QA_district_name_spec.rb 

sollte sein

sed 's/@driver\.quit/#@driver.quit/' set_QA_district_name_spec.rb 

Als es funktionierte, habe ich das -iFlag ('in-place') hinzugefügt, sodass die Datei selbst tatsächlich ersetzt wurde, z. B.

sed -i 's/@driver\.quit/#@driver.quit/' set_QA_district_name_spec.rb 

verwandte Informationen