2016-10-23 3 views
0

In meiner Config-Datei habe ich eine Asset-Version wie:eine Zeichenfolge nach bestimmtem anderem String ersetzen mit sed

templating: 
    engines: ['twig'] 
    assets_version: 20161021 

Wenn ich eine neue Version i aktuelle Version ersetzen will durchführen wollen, um (in diesem Fall 20161021) in einem Bash-Skript mit neuer Version (zB mit aktuellem Datum).

Ich habe lange Zeit nach Beispielen für sed Verwendung gesucht, aber ohne Erfolg.

Mein Code:

sed -e 's/(::\s+assets_version:)[^=]*$/\1 assets/' app/config/config.yml 

Aber Konsole sagte mir: sed: 1: "s/(:: \ s + assets_version: ...": \ 1 nicht in der RE definiert

kann jemand helfen?

+0

Verwenden Sie 's/\ (... \)/\ 1 /' oder besser die Antwort von @Nasr –

Antwort

1
VERSION=20161101 
sed -i "s/assets_version.*/asserts_version: ${VERSION}/" app/config/config.yml 

-i auf der gleichen Datei

assets_version.* matc zu ändern hes assets_version und noch mehr Zeichen auf der Linie dann ersetzen sie.

Verwandte Themen