Linux-suchen und ersetzen eine Zeichenfolge in einer Datei

November 2

Linux-suchen und ersetzen eine Zeichenfolge in einer Datei

Ersetzen von Wörtern in einer Textdatei kann auf verschiedene Weise innerhalb des Linux-Betriebssystems erreicht werden. Mithilfe des Befehls "Sed" und dem Perl Programmiersprachen sind zwei Methoden, mit denen ähnliche Syntax innerhalb der Befehle. Beide Methoden werden von der Linux-Befehlszeile verwendet. Darüber hinaus können Sie eine exakte Zeichenfolge oder einen regulären Ausdruck in beiden Methoden angeben. Ein regulärer Ausdruck ist eine Möglichkeit der Verwendung von Platzhaltern (Sonderzeichen) für den Mustervergleich.

Sed

Sed ist ein Stream-Editor für Unix und Linux Betriebssysteme. Es kann verwendet werden, Bearbeiten von Text in verschiedenen Weisen, einschließlich für suchen und Ersetzen von Zeichenfolgen in Textdateien gefunden. Das grundlegende Format für eine Substitution mit Sed lautet:

Sed -i "s/Find_string/Replace_string/g" Dateiname

Die "-Ich" Option sagt den Text Inline bearbeiten. Mit anderen Worten, ist die Datei bearbeitet, ohne eine zweite Datei zu erstellen. Abschnitt "s/Find_string/Replace_string/g" sagt ("s") der "Replace_string" für die "Find_string" weltweit zu ersetzen ("g"). Der letzte Teil des Befehls ("Dateiname") ist der Name der Datei bearbeitet werden.

Wenn Sie eine Kopie der ursprünglichen Datei behalten möchten, können Sie Weglassen des "-Ich" option und geben Sie eine Ausgabedatei wie:

Sed "s/Find_string/Replace_string/g" Filename > Ausgabe

Wenn Sie den "g" Teil des Befehls weglassen, Sed ersetzt nur das erste Vorkommen von "Find_string" und stoppen.

Perl

Perl ist eine Programmiersprache, die von der Befehlszeile aus verwendet werden kann, um Textdateien zu bearbeiten. Perl wurde von Larry Wall zur Bearbeitung von ASCII Text Berichten effizient erstellt.

Die Perl-Methode zum Suchen und Ersetzen von Zeichenfolgen ist vergleichbar mit dem Sed-Befehl. Das Format ist wie folgt:

Perl-pi -e's / Find_string/Replace_string/g ' Filename.

Die Option "p", sagt der suchen-und-ersetzen-Code durchlaufen. Dies ist notwendig für die Suche und ersetzen, um ordnungsgemäß verarbeitet werden. Wie bei der Sed, die "-Ich" Option sagt, den Datei Inline zu verarbeiten. Wenn Sie diese Option entfernen, müssen Sie eine Ausgabedatei angeben. Perl erlaubt eine backup-Datei mit Angabe der "-Ich" Option durch die backup-Erweiterung nach dem "i" (z. B. "i.bak") eingeben. Das "-e" Option sagt auszuführenden Befehl "s/suchen/ersetzen/g." Wieder stoppt Entfernen des "g" Teils des Befehls ersetzen-Vorgang nach dem Auffinden der ersten Instanz des Suchbegriffs.