-» Clues of DUG
-» DUG Partner
-» Stream Panel
Tote Hose? Wie ihr sicher schon bemerkt habt, ist auf DUG-Portal in letzter Zeit wenig los. Da ich mein Hobby (Webentwicklung ect.) zum Beruf gemacht habe, habe ich für den Blog nur noch wenig Zeit bzw. keine Lust in meiner Freizeit auch noch vorm PC zu vergammeln. Daher gibt es nur noch selten etwas neues. Dennoch werde ich versuchen, hier und da etwas zu schreiben. Man wird sehen was die Zeit bringt...

Linux: In Dateien Suchen und Ersetzen

Heute besitzt fast jeder Editor eine Suchen & Ersetzen Funktion. Für kleinere Dateien reicht diese Funktion meist auch aus. Doch was wenn man größere Dateien, wie etwa SQL-Dateien, die schon mal mehrere GB groß sein können, bearbeiten muss... Ein herkömmlicher Editor wäre nicht mal imstande so eine Datei zu öffnen. Hier kommt "SED" ins Spiel - ein Stream-Editor der quasi auf jeder Linux-Distribution vorinstalliert ist. SED bietet keine Grafische Oberfläche und wird auf der Konsole ausgeführt (unter Ubuntu: Anwendungen -> Zubehör -> Terminal).

Zwei einfache Befehle als Beispiel:
sed s/suchstring/ersatzstring/g -i datei.txt

Dieses Beispiel ersetzt den String "suchstring" durch "ersatzstring". Es werden alle Vorkommen in der Datei ersetzt - beispielsweise auch "suchstringnocheintext"! Würde man zudem das "g" (was für Global steht), weggelassen, so wird lediglich das erste Vorkommen ersetzt.

sed /test/s/suchstring/ersatzstring/g -i datei.txt

Genau wie oben, werden auch hier alle Vorkommen ersetzt. Allerdings wird der String nur in Zeilen ersetzt, die das Wort "test" enthalten.

Hinweis: SED unterscheidet bei den oben gezeigten Beispielen zwischen Groß und Kleinschreibung. Soll heißen, Suchstring wird nicht ersetzt, sofern nach suchstring gesucht wird. Auch SUCHSTRING oder suchSTRing wird nicht ersetzt. Möchte man vermeiden, dass SED zwischen Groß und Kleinschreibung unterscheidet, so muss noch der Parameter "i" angehängt werden.

Example:
sed s/suchstring/ersatzstring/ -i datei.txt

Ich habe für euch auch noch ein paar Links zusammengestellt, wo ihr weitere nützliche Befehle ect. finden könnt. SED unterstützt auch Regular Expressions (Reguläre Ausdrücke). Zudem ist die "Suchen & Ersetzen" Funktion nur ein kleiner Teil, von dem was SED beherrscht. SED ist ein sehr mächtiges Programm!

Nützliche, einzeilige Scripts für SED (Unix Stream Editor)
Bash-Programmierung - Der Befehl SED
SED, AWK und Reguläre Ausdrücke
SED auf Wikipedia

Tags: suchen und ersetzen, text datei editor, sql file big groß, ubuntu linux unix

0 Kommentare:

Kommentar veröffentlichen