2017-12-17 9 views
0

Arbeiten an einem Automatisierungsskript zu bauen und wir versuchen, eine Eingabe von einer Datei zu nehmen genannt code.js wie folgt aus:sed Befehl uncomment Codezeilen

var foo = {}; 

// var bar = 1; 
// var fooBar = 2; 
// var barFoo = 3; 

Und wenn wir fertig sind, haben eine Leistung mit den kommentierten Zeilen jetzt unkommentiert ohne führende Leerzeichen wie folgt aus:

var foo = {}; 

var bar = 1; 
var fooBar = 2; 
var barFoo = 3; 

Wir versuchen, die Transformation gespeichert zurück zu code.js zu bekommen.

Bisher haben wir diesen sed Befehl versucht, aber unsere sed ist nicht so gut:

sed -i '' -e's/\*\//\n&/g' code.js 

Wir haben versucht, awk auch mit, aber die führenden Platz bleibt und es scheint, auf dem Terminal zu arbeiten, aber nicht in der Automatisierungs-Script aus irgendeinem Grund:

awk '{sub(/\/\//,""); print}' code.js 

wir würden es vorziehen, sed zu verwenden, da wir ein paar sed inplace Ersatz Befehle haben bisher bereits arbeiten. Wie können wir das in Sed machen?

Antwort

3

Mit GNU sed:

sed -i 's|^// ||' file 
+0

immer diese Fehlermeldung: 'sed: 1: "code.js": ungekündigten Ersatz in regelmäßigen expression' eine Ahnung, was es bedeutet und wie zu lösen? – myoplabo

+0

Fügen Sie Ihre 'sed' Version zu Ihrer Frage hinzu. – Cyrus

+0

Zeigen Sie an, welchen Befehl Sie genau verwendet haben. – Cyrus