Page 1 of 1

Nach String suchen und zeile ersetzen ?

Posted: 2003-08-18 19:54
by mezga
Hi,

bin gerade dabei ein kleines Script (Linux, Bash) zu schreiben.

Jetzt will ich in einer Datei my.cnf nach /var/log/mysql.log suchen und bei dem Ergebniss dann die komplette Zeile durch #/var/log/mysql.log ersetzen.

Also wie ich nur das gefundene ersetze ist klar

sed -e s:/var/log/mysql.log:#/var/log/mysql.log:g < /my.cnf > /my.cnfn

aber ich möchte die ganze Zeile ersetzen und nicht nur das "/var/log/mysql.log". (Davor steht noch log= und das muss weg)


Weis da jemand rat ?

Re: Nach String suchen und zeile ersetzen ?

Posted: 2003-08-18 20:17
by captaincrunch
sofern das das einzige "log=" im File ist, dürfte folgendes klappen :

Code: Select all

sed -e s:/(^log=.*):#1:g < /my.cnf > /my.cnfn

Re: Nach String suchen und zeile ersetzen ?

Posted: 2003-08-18 22:26
by captaincrunch
So, jetzt hab ich's mal getestet, so klappt's nicht. Folgendes bringt dich aber weiter :

Code: Select all

sed 's/(^log.*)/#1/g' my.cnf > my.cnf.bak

Re: Nach String suchen und zeile ersetzen ?

Posted: 2003-08-18 23:27
by mezga
Ja, vielen Dank !!! Mit dem Funktionierts.

Jetzt erstmal kucken warums funktioniert :lol: