Ersetzen von Wörtern innerhalb einer Textdatei auf verschiedene Weise innerhalb des Linux-Betriebssystems durchgeführt werden können. Die " sed "-Befehl und die Programmiersprachen Perl gibt zwei Methoden , die ähnliche Syntax verwenden innerhalb der Befehle . Beide Methoden werden von der Linux -Befehlszeile verwendet . Auch können Sie eine genaue Zeichenfolge oder einen regulären Ausdruck in beiden Verfahren . Ein regulärer Ausdruck ist ein Weg, mit Wildcards ( Sonderzeichen) für Pattern-Matching . Sed
Sed ist ein Stream -Editor für die Unix -und Linux- Betriebssystemen. Es kann verwendet werden , um Text auf verschiedene Weise , einschließlich der Suche nach und Ersetzen von Zeichenketten in Textdateien gefunden manipulieren. Das grundlegende Format für die Substitution mit sed ist :
sed- i " s /find_string /replace_string /g " Dateiname
" -i "-Option , um den Text sagt inline bearbeiten. Mit anderen Worten, ist die Datei bearbeitet , ohne eine zweite Datei . Das "s /find_string /replace_string /g " Abschnitt sagt zu ersetzen ( "s" ) die " replace_string " für die " find_string " global ( "g" ) . Der letzte Teil des Befehls ( "Dateiname" ) ist der Name der Datei, die bearbeitet werden.
Wenn Sie möchten, dass eine Kopie der Original-Datei zu erhalten, können Sie die " -i " weglassen Option und geben Sie eine Ausgabedatei wie :
sed " s /find_string /replace_string /g " filename > Ausgabegeräte
Wenn Sie das "g" des Befehls weglassen, wird sed ersetzen nur das erste Auftreten des " find_string " und stoppen.
Perl
Perl ist eine Programmiersprache, die von der Kommandozeile aus benutzt werden können, um Text-Dateien bearbeiten . Perl wurde von Larry Wall entwickelt, um ASCII-Text Berichte effizient zu manipulieren.
Perl Verfahren zum Suchen und Ersetzen von Strings ist ähnlich der sed-Befehl . Das Format ist wie folgt:
perl -pi -e ' s /find_string /replace_string /g ' filename
Das "p" Option sagt Schleife durch die Such-und -Ersetzen . Code. Dies ist notwendig für die Suche und ersetzen, um korrekt verarbeitet werden . Wie mit sed, sagt der " -i "-Option , um die Datei inline zu verarbeiten. Wenn Sie diese Option zu entfernen, müssen Sie eine Ausgabedatei. Perl können Sie eine Backup-Datei mit der Option "- i "-Option , indem Sie den Backup- Erweiterung nach dem "i" ( z. B. " i.bak " ) angeben . Die Option "- e" Option sagt , um den Befehl auszuführen " s /Suchen /Ersetzen /g . " Auch das Entfernen der "g "-Teil des Befehls wird die replace Verfahren nach dem Auffinden der ersten Instanz des Suchbegriffs stoppen .