[Gelöst] Via Shellscript Configfile ändern

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
debianator
Beiträge: 92
Registriert: 24.11.2011 16:30:00

[Gelöst] Via Shellscript Configfile ändern

Beitrag von debianator » 22.01.2012 15:49:52

Hallo Leute,

wie ändert man via Shellscript z.B. in der xxx.conf die Option "xxx true" zu "xxx false" ?

In welcher Zeile diese Option steht muss egal sein, da die Zeilen sich in Zukunft verschieben könnten.
Zuletzt geändert von debianator am 27.01.2012 16:55:15, insgesamt 1-mal geändert.

Liffi
Beiträge: 2345
Registriert: 02.10.2004 01:33:05

Re: Via Shellscript Configfile ändern

Beitrag von Liffi » 22.01.2012 15:52:18

Mit sed.

Benutzeravatar
GoKi
Beiträge: 2068
Registriert: 04.07.2003 23:08:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Via Shellscript Configfile ändern

Beitrag von GoKi » 22.01.2012 15:54:20

Und ein Beispiel dafür findet sich z.B. in viewtopic.php?f=34&t=130613
MfG GoKi
:wq

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Re: Via Shellscript Configfile ändern

Beitrag von roli » 22.01.2012 18:26:57

awk und perl wären auch alternativen
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

debianator
Beiträge: 92
Registriert: 24.11.2011 16:30:00

Re: Via Shellscript Configfile ändern

Beitrag von debianator » 22.01.2012 18:33:55

Was muss ich denn da korrigieren damit es funzt?

So findet garkeine Veränderung statt:

sed s/xxx=.*/xxx=false/ < ./xxx.conf > ./xxx.conf.new

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Via Shellscript Configfile ändern

Beitrag von Cae » 23.01.2012 15:18:30

debianator hat geschrieben:Was muss ich denn da korrigieren damit es funzt?
Mir ist unklar, was du mit "funzt" meinst, aber vielleicht solltest du das * escapen (etwa das ganze sed-Argument in ' setzen), da es offensichtlich von der Shell expandiert wird.
Übrigens gibt's auch sed-Gattungen, die direktes Editieren einer Datei erlauben.

Gruß Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

uname
Beiträge: 12414
Registriert: 03.06.2008 09:33:02

Re: Via Shellscript Configfile ändern

Beitrag von uname » 23.01.2012 15:48:58

Übrigens gibt's auch sed-Gattungen, die direktes Editieren einer Datei erlauben
Z.B. so mit der Option "-i":

Code: Alles auswählen

sed -i 's/alt/neu/g' datei.txt
Poste doch mal eine echte Konfigurationszeile, damit man dein Problem verstehen kann.

debianator
Beiträge: 92
Registriert: 24.11.2011 16:30:00

Re: Via Shellscript Configfile ändern

Beitrag von debianator » 25.01.2012 20:26:03

So generell halt, so wie die meisten Configfiles aufgebaut sind, z.B. so:

Code: Alles auswählen

# option1 auf false damit ... oder auf true damit ...
option1 false

# option2 auf false damit ... oder auf true damit ...
option2 true

# option3 bestimmt...
option3 aaa

# option4 bestimmt ...
option4 111

# option5 auf false damit ... oder auf true damit ...
option5 false

# option6 auf false damit ... oder auf true damit ...
option6 true
Ich will einfach verschiedene Configfiles automatisiert anpassen ohne Tipporgien in der Console.

uname
Beiträge: 12414
Registriert: 03.06.2008 09:33:02

Re: Via Shellscript Configfile ändern

Beitrag von uname » 26.01.2012 15:59:40

Da die Syntax etwas komisch ist von "sed" könntest du ein Script "modify.sh" schreiben:

Code: Alles auswählen

#!/bin/bash
sed -i 's/^'"$2"'.*$/'"$2"''"$3"'/g' $1
Aufruf wäre dann z.B.:

Code: Alles auswählen

./modify.sh test.txt "option3 " "bbb"  (Leerzeichen hinter option3 nicht vergessen)
Es werden alle Zeilen, die mit "option3 " (incl. Leerzeichen) beginnen auf "bbb" gesetzt.

debianator
Beiträge: 92
Registriert: 24.11.2011 16:30:00

Re: Via Shellscript Configfile ändern

Beitrag von debianator » 27.01.2012 16:54:01

WTF?

Das ist ja übelst kompliziert und das soll man aus dem Kopf hinkriegen können?

Respekt!

Und vielen Dank, das klappt perfekt.

Antworten