16.05.2016: Es gibt ein paar Aktualisierungen auf unserem Blog! Die Underground Suchmaschine mit welcher ihr Seiten wie die Boerse oder Mygully durchsuchen könnt, wurde komplett überarbeitet. Die XXX Stream Liste wurde aktualisiert, tote Links mit neuen ersetzt, das gleiche gilt für die MP3 Suchmaschinen und die Liste mit den Android Apps wurde ebenfalls erweitert.

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

Keine Kommentare:

Kommentar veröffentlichen

ACHTUNG: Anonyme Kommentare werden nicht freigeschaltet! Bitte wählt aus der Dropdown-Liste "Name/URL" anstatt "Anonym". Mit "Name/URL" bleibt ihr ebenfalls anonym, jedoch kann so zwischen User A und User B unterschieden werden.

Gültige HTML-Tags: <a href="LINK">LINK TITEL</a> | <b>BOLD</b> | <i>KURSIV</i>