Thread perl one liner : string suchen und ersetzen wert (unix) (17 answers)
Opened by bora99 at 2012-05-08 15:07

topeg
 2012-05-11 13:56
#158303 #158303
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Code (perl): (dl )
$line =~ s/(=\s*)[^#\s]+(?:\s+[^#\s]+)*/$1$changes{$key}/ if(defined($changes{$key}));

Beachtet auch Leerzeichen bei den Werten.

Bedenke aber, universal kann so eine generelle Ersetzung nicht sein. Das mag auf viele Konfigurationen passen aber nicht auf alle. Mache Konfigurationsdateien nutzen ":" als Trenner zwischen Schlüssel und Wert
Manche Konfigurationen haben Abschnitte in denen gleich benannte Schlüssel etwas ganz anderes bewirken. Mache Konfigurationen sind XML-Konform.
Dieses Script mag auf 80% aller Konfigurtionen passen, aber halt nicht auf alle. Behalte das im Hinterkopf.

Bitte versuche auch zu verstehen, wie das Script funktioniert, nicht immer ist jemand zur stelle, der Probleme beheben kann.

Was die "" betrifft. Es ist kaum zu machen alle verschiedenen Formen zu behandeln. Das muss über die passenden Parameter geschehen.

View full thread perl one liner : string suchen und ersetzen wert (unix)