Mit sed eine Zeile mit Wort X suchen und komplett ersetzten

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
aLiEnTxC
Beiträge: 126
Registriert: 31.07.2004 20:06:04
Kontaktdaten:

Mit sed eine Zeile mit Wort X suchen und komplett ersetzten

Beitrag von aLiEnTxC » 04.08.2004 15:58:31

Hallo Forum,

ich bin mal wieder am verzweifeln. Habe mich nun durch entliche Anteilungen und Howtos gelesen und bin jetzt nur noch verwirrter als vorher...

Ich möchte meinen BIND bei jeder DSL einwahl einen neuen Forwander geben. Also besser gesagt der den ich von der Telecom zugeteilt bekomme.

Soweit alles klar... nur suche ich nun nach einer möglichkeit wie ich eine Zeile ersetzte die das Wort X hat...

Also hier ein ausschnitt aus meiner named.conf
options {
directory "/var/cache/bind";

// If there is a firewall between you and nameservers you want
// to talk to, you might need to uncomment the query-source
// directive below. Previous versions of BIND always asked
// questions using port 53, but BIND 8.1 and later use an unprivileged
// port by default.

// query-source address * port 53;

// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.

forwarders { 217.237.150.33;194.25.2.129; };

auth-nxdomain no; # conform to RFC1035
};
so ... nun kann es doch nicht so schwer sein nach der Zeile mit dem word "forwarders" zu suchen und diese komplett neu zu schreiben also z.b. forwarders { 217.237.150.32;194.25.2.13; };

Nur wie bekomme ich es hin... was ich bis jetzt ausprobiert habe, ersetzt nur das Wort "forwarders" und nicht die komplette Zeile...

Wer weiss wie das geht?

Gruß,
Thomas

Benutzeravatar
QT
Beiträge: 1322
Registriert: 22.07.2004 21:08:02
Wohnort: localhost

Beitrag von QT » 04.08.2004 16:23:18

Hast Du schonmal als Suchpattern ^forwarders.* genommen? Sprich die Zeile muss mit dem Wort 'forwarders' beginnen gefolgt von egal was. Ungefaehr so:

Code: Alles auswählen

's/^forwarders.*/forwarders  { 217.237.150.32;194.25.2.13; };/g'
Allerdings versteh ich beim besten Willen nicht, warum Du bei jeder Verbindung Deinen Eintrag fuer forwarders aendern moechtest. Ich habe vor einigen Jahren mal einen in meiner named.conf eingetragen (auch einen der Telekom) und den hab ich bis heute nicht geaendert und auch genutzt, wenn ich nicht ueber T-Online eingewaehlt war. Spielt absolut keine Rolle............. HTH!

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 05.08.2004 12:23:37

Nur als Info: in der Datei named.conf.options sind die Parameter eingerückt, "forwardes" ist zum Beispiel nicht am Zeilenanfang, der Auszug wird hier falsch angezeigt. Daher sollte man das ^ beim sed weglassen, sonst funzt es nicht.

Gruss, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

Antworten