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

FIFO
 2012-05-08 16:06
#158208 #158208
User since
2005-06-01
469 Artikel
BenutzerIn

user image
2012-05-08T13:07:57 bora99
Zeichen Trenner zwischen "=" kann sein "<tab>" , "<blank>" oder kein Zeichen. Es ist auch möglich das ein Kommentar, beginnend mit "#" vorkommt.

ich möchte nach "=" den Wert ersetzen, im Bsp: XXXXX


Hi,

Code: (dl )
perl -pi.bak -e 's/(.*=\s*)[^#\s]+/$1XXXX/' datei


ersetzt in 'datei' jeden (!) Wert durch 'XXXX', Kommentare und die whitespaces um das '=' bleiben dabei erhalten. Backup in datei.bak.

Code: (dl )
perl -pi.bak -e 's/(key\s*=\s*)[^#\s]+/$1XXXX/' datei


ersetzt in allen Zeilen die Werte mit dem Schlüssel 'key'.
usw.
funktoniert allerdings nur mit Werten, die kein whitespace enthalten.
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? -- Brian Kernighan: "The Elements of Programming Style"

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