GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Suchen und ersetzen Sie Text in einer Datei zwischen einem Zeilenbereich mit sed

Sie können sed-Adressen verwenden:

sed '19,33s/google/facebook/g' file

Dadurch wird die Substitution in den Zeilen zwischen einschließlich 19 und 33 ausgeführt.

Die Form eines sed-Befehls ist wie folgt:

[address[,address]]function[arguments]

Wobei 19,33 sind die Adressen,
s Ersatz ist Funktion
und g lobal ist das Argument


Die obige Antwort hat bei mir unter Mac OSX FAST funktioniert.

sed '19,33s/google/facebook/'-Datei

funktionierte perfekt ohne Klammern.

sed '19,$s/google/facebook/'-Datei

funktioniert auch bis zum Ende der Datei.


Linux
  1. Verwenden von sed zum Suchen und Ersetzen von Textdateien in Linux

  2. Verwenden von Sed-, Ex- und Perl-Befehlen zum Suchen und Ersetzen eines Textes in Linux

  3. Zeilenbereich durch Zeilenbereich ersetzen (sed oder andere)?

  4. Wie lösche ich mehrere zufällige Zeilen aus einer Textdatei mit Sed?

  5. Suchen und kopieren Sie die Datei mit Bash

So finden und ersetzen Sie Text in Vim

Unix Sed Tutorial:Drucken von Dateizeilen mit Adresse und Mustern

Unix Sed Tutorial:Suchen und Ersetzen von Text in einer Datei mit RegEx

Unix Sed Tutorial:Löschen Sie Dateizeilen mit Adresse und Mustern

Unix Sed Tutorial:Dateizeilen anhängen, einfügen, ersetzen und zählen

So verwenden Sie Sed zum Suchen und Ersetzen einer Zeichenfolge in einer Datei