Was ist SED unter Linux und wie wird es verwendet?

Durst bedeutet S. tream ed itor und ist ein häufig verwendeter Befehl unter Linux / Unix. Der Name stammt aus einer Kombination dieser beiden Wörter. Es ist kein Texteditor, obwohl es Text bearbeitet. Stattdessen empfängt sed die Texteingabe als "Stream" und ändert den Stream gemäß seinen Anweisungen.

Im Allgemeinen wird sed als Befehlszeilenversion für Suchen und Ersetzen verwendet. Der Hauptprogrammbefehl wird verwendet, um eine Zeichenfolge durch eine andere zu ersetzen. Dies macht es nützlich, um Such- und Ersetzungsfunktionen für einen Stapel von Dateien auszuführen, aber es ist nicht so einfach zu verwenden wie etwas aus Notepad oder Word. Sie werden sehen, dass die Syntax etwas gewöhnungsbedürftig ist, aber nach dem Herunterladen werden Sie sehen, wie unglaublich leistungsfähig dieser kompakte Editor sein kann.

Index

    Verwendung von sed als Ersatz

    Um sed verwenden zu können, müssen Sie ein Terminalfenster öffnen. Der Befehl wird mit sed aufgerufen, aber wenn Sie ihn alleine eingeben, wird dies nichts bewirken. Sie müssen einen der Befehle und einige Parameter angeben.

    Der häufigste Parameter ist Surrogat oder s. Ein einfacher Befehl zum Ändern von Sedimenten sieht folgendermaßen aus:

    sed 's / Katze / Hund /'

    Dieser Befehl weist Sed an, den eingehenden Text zu scannen und jede Instanz der Zeichenfolge "cat" durch "dog" zu ersetzen. Um dies zu demonstrieren, verwenden wir den Befehl echo, um Ihnen etwas zu geben, mit dem Sie arbeiten können.

    echo catapulta | sed 's/cat/dog/'

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>> >> >>>>>>>>>>>>>>>>>>>.

    Was ist SED unter Linux und wie wird es verwendet?

    Es gibt drei Hauptteile des Befehls sed. Zunächst gibt es eine SSED, die das Programm startet. Dann gibt es den swhich, der den Ersetzungsbefehl initiiert. Der Schrägstrich / ist ein Trennzeichen. Die nächste Saite ist die Saite, nach der das Beruhigungsmittel sucht. Die Zeichenfolge nach dem zweiten Schrägstrich sind die Ersatzzeichen, die sed in die Sequenz schreibt. Der letzte Balken schließt den Befehl. Insgesamt ist es "Ja / Text zu finden / Text zu ersetzen /".

    Beachten Sie die einfachen Anführungszeichen in diesem Beispiel. Mit einfachen Anführungszeichen können Sie Metazeichen in Ihrem Befehl verwenden. Während Anführungszeichen für die meisten unserer Beispiele nicht unbedingt erforderlich sind, sollten Sie es sich zur Gewohnheit machen, Anführungszeichen für alle Befehle zu verwenden.

    Was ist mit Teilzeichenfolgen? Der obige Befehl funktioniert für jeden Aspekt der Zeichenfolge "cat", auch wenn er Teil eines anderen Wortes ist. Zum Beispiel wird "Katapult" zu "Dogapulta", während "Katamaran" zu "Dogamaran" wird.

    Öko-Katapult | sed 's / cat / dog /' >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>.

    Was ist SED unter Linux und wie wird es verwendet?

    Globaler Ersatz

    In unserem ersten Beispiel haben Sie möglicherweise bemerkt, dass nur die erste Instanz der übereinstimmenden Zeichenfolge ersetzt wurde. Wie viele GNU-Dienstprogramme ist sed zeilenbasiert. Infolgedessen funktioniert es nur bei der ersten Übereinstimmung innerhalb einer Reihe. Wenn in der Zeile mehrere Übereinstimmungen für die Kandidatenzeichenfolge vorhanden sind, wird nur die erste geändert. Verwenden Sie das g-Flag am Ende des Befehls, damit sed bei jedem Auftreten der Zielzeichenfolge funktioniert:

    sed 's / Katze / Hund / g'

    Es würde wie im folgenden Beispiel funktionieren:

    Katapult Echo Katamaran | sed 's / cat / dog / g' >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

    Was ist SED unter Linux und wie wird es verwendet?

    Ohne das globale Flag würde nur die erste Instanz von "cat" in jeder Zeile ersetzt.

    Einstellungen für Eingabe- und Ausgabedateien

    Standardmäßig arbeitet sed mit der Standardeingabe. Dies ist jedoch nicht sehr nützlich. Geben Sie zum Bereinigen einer Datei den Dateinamen am Ende des Befehls wie folgt an:

    newfile.txt.

    Was ist SED unter Linux und wie wird es verwendet?

    Dies wird auf "oldfile.txt" gesetzt und die Befehlsausgabe in "newfile.txt" gespeichert. Wenn "newfile.txt" nicht vorhanden ist, wird es vom Befehl erstellt. Wenn Sie keine Ausgabedatei angeben, setzt sed den neuen Text in der Datei auf die Standardeingabe zurück.

    Wenn Sie den Inhalt einer Datei überschreiben möchten, müssen Sie das Flag -iflag verwenden. Dieses Flag hält die Änderungen "an Ort und Stelle".

    sed -i '' 's/cat/dog' oldfile.txt

    Dieser Befehl überschreibt sofort den Inhalt der Zieldatei, was etwas gefährlich ist. Aus Sicherheitsgründen können Sie vor Ort ein Backup erstellen.

    Geben Sie nach -i eine Erweiterung ein, um eine Sicherungskopie der Datei zu erstellen. Es muss keine funktionale Erweiterung sein: ".bu" oder ".bak" funktionieren einwandfrei. Dadurch wird eine Sicherungsdatei mit der Erweiterung erstellt.

    sed -i.bak 's/cat/dog' oldfile.txt

    Dadurch wird "oldfile.txt.bak" erstellt, das die Rohtextdaten aus der Originalversion von "oldfile.txt" enthält.

    Finden Sie reguläre Ausdrücke

    Die wahre Kraft des Durstes beruht auf der Kombination regulärer Ausdrücke. Auf diese Weise können Sie passende Muster anstelle von wörtlichen Zeichenfolgen einrichten. Zum Beispiel könnten wir so etwas wie die folgende Zeichenfolge verwenden, um einen Satz von einer oder mehreren Zahlen zu wiederholen:

    Echo "123 abc" | sed's /[0-9][0-9]* / & / & / '

    Was ist SED unter Linux und wie wird es verwendet?

    Zusätzliches Lernen

    sed ist ein äußerst leistungsfähiges Dienstprogramm mit einer ähnlichen Leistungstiefe wie eine Skriptsprache. Weitere Informationen zu den vollständigen Sed-Funktionen finden Sie unter Bruce Barnetts vollständiger Durstführer .

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

    Go up

    Diese Website verwendet Cookies, um Ihnen ein besseres Erlebnis beim Surfen auf der Website zu bieten. Lesen Sie mehr über Cookies