[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Zeichenkette per Zeilennummer in Datei ändern



High, high ...
* Christian Brabandt <dug@256bit.org> schrieb am [06.05.09 17:18]:
> Hallo Kai!
> 
> Kai Wilke schrieb am Mittwoch, den 06. Mai 2009:
> 
> > # [IMPORTANTWORDS]
> > color body  brightyellow    blue  "(Netzworkk|kwtools)"
> > 
> > Nun möchte ich Anhand von "# [IMPORTANTWORDS]" die Zeile darunter
> > ändern. Nun bin ich nicht gerade der Fachmann für awk, aber ich denke
> > das ist das richtige Programm dazu. Nur bekomme ich nicht den Code dafür
> > hin. Kann mir da jemand helfen?
> 
> 
> Ich würde dafür sed nehmen:
> sed '/^# \[IMPORTANTWORDS]/ {n;c\
> blah
> }' datei

Habe ich durch Unwissenheit nicht ausprobiert, aber Danke.

> 
> und mit awk müßte es so gehen:
> 
> awk '/^# \[IMPORTANTWORDS]/ {print; getline; print "BLAH"; next} 1 ' 

getline (wieder mal übersehen?), hm muß mich echt mal weiter mit der zsh
beschäftigen damit ich sowas nicht benötige. Nichts für ungut sed, awk
& Co.

> datei

Lösung meinerseits, dank dir:
awk '/^# \[IMPORTANTWORDS]/ {print; getline; print "color body '"$Type_Color"' '"$Bg_Color"' ('"${IMPORTANT_WORDS//\ /|}"')"; next} 1 ' \
"$File" > $gv_LogFile 2>&1
mv "$gv_LogFile" "$File" 2>&1

Die Variable IMPORTANT_WORDS muss wegen "oder" bei den Woertern einen
Senkrechtstrich für ein Leerzeichen bekommen. Ist eine per Programm dialog
basierte Eingabe/speichern/....

Das ganze gehört halt zu kwmutt, einem Konfigurationstool für mutt. Oder
soll es mal werden.

Danke und freundliche Grüsse, Kiste
-- 
#######################################################################
Netzworkk                   grml - Linux Live CD fuer Sysadmins
Kai Wilke                   http://grml.org
kiste@netzworkk.de
http://www.netzworkk.de
http://netzworkk.berlios.de

Attachment: signature.asc
Description: Digital signature


Reply to: