Hallo,
wie lautet das kommando um mit grep den inhalt einer datei nach "xyz" zu durchsuchen und den ausdruck "xyz" durch "abc" zu ersetzen?
aus der man page werde ich nicht schlau...
danke!
Hallo,
wie lautet das kommando um mit grep den inhalt einer datei nach "xyz" zu durchsuchen und den ausdruck "xyz" durch "abc" zu ersetzen?
aus der man page werde ich nicht schlau...
danke!
Zenwalk current
Intel P4 3,0 GHz, 1 GB RAM, AOpen Mainboard, Ge-Force 7600GS AGP, Sound onBoard, 2x 80 GB HDD, DVD Brenner, DVD-ROM, Realtek 10/100Mbit NIC onBoard
sed 's#suchtextt#hierderneutext#g' test.txt > neuetest.txt
http://www.linuxfibel.de/sed.htm
Das Kommando gibt es nicht. "sed" ist, was Du sucht, nicht "grep".Code:maddin@captin:maddin$ man grep |head Formatiere grep(1) neu, bitte warten... GREP(1) Dienstprogramme für Benutzer GREP(1) BEZEICHNUNG grep - durchsucht Dateien nach Ausdrücken SYNTAX grep [-CVbchilnsvwx] [-Anzahl] [-AB Anzahl] [[-e] Ausdruck |-f Datei] [Datei...] maddin@captin:maddin$ man sed |head Formatiere sed(1) neu, bitte warten... SED(1) Dienstprogramme für Benutzer SED(1) BEZEICHNUNG sed - (stream editor) ist ein Editor zur nicht-interak_ tiven Textbearbeitung
"sed s/ausdruck/ersetzung//" datei.txt > neue.txt"
Hey, danke für die info! Ja, sed, genau! LOL, man muss halt wissen nach was man suchen muss! Danke euch allen!
ps:
das klappt ganz gut, allerdings wäre es besser, wenn man es nicht in eine neue Datei schreiben lassen müsste, sondern es direkt in der Orginaldatei ändern lassen könnte. Geht das irgendwie?sed 's#suchtextt#hierderneutext#g' test.txt > neuetest.txt
Geändert von mdkuser (16.03.04 um 14:33 Uhr)
Zenwalk current
Intel P4 3,0 GHz, 1 GB RAM, AOpen Mainboard, Ge-Force 7600GS AGP, Sound onBoard, 2x 80 GB HDD, DVD Brenner, DVD-ROM, Realtek 10/100Mbit NIC onBoard
Nein, das geht nicht.
"cp -b neuetest.txt test.txt" tut aber fein und legt ein Backup der originalen an.
ok, danke!
Zenwalk current
Intel P4 3,0 GHz, 1 GB RAM, AOpen Mainboard, Ge-Force 7600GS AGP, Sound onBoard, 2x 80 GB HDD, DVD Brenner, DVD-ROM, Realtek 10/100Mbit NIC onBoard
Sowas ähnliches wollte ich auch mal machen.
Jaspers Beitrag aus diesem Thread hat mir dabei sehr weitergeholfen. Natürlich geht das auch mit sed, aber das separate Speichern entfällt mit Jaspers Lösung.
In Deinem konkreten Fall heißt es dann so:
perl -pi -e 's/xyz/abc/g' test.txt
Gruß,
Daniel
your wonder drug
Das alles geht jedenfalls nicht mit KSnapshot.
Um direkt Textstellen ersetzen zu lassen gibt es das Tool replace.
Das ist allerdings nicht bei jeder Standardinstallation dabei und kommt
glaub ich mit MySQL.
replace 'old' 'new' -- filename
Greetz...
Wie viele Microsoft-Ingenieure braucht man, um eine Glühbirne zu wechseln? - Keinen. Die erklären die Dunkelheit zum Industriestandard.
Danke euch allen für die Hinweise! Hilft mir echt weiter!
Zenwalk current
Intel P4 3,0 GHz, 1 GB RAM, AOpen Mainboard, Ge-Force 7600GS AGP, Sound onBoard, 2x 80 GB HDD, DVD Brenner, DVD-ROM, Realtek 10/100Mbit NIC onBoard
Das "in-place editing", das drunkenPenguin meint, können moderne Versionen von sed mit der Option -i übrigens auch.
Lesezeichen