Heim > Artikel > System-Tutorial > Umfassende Zusammenfassung: Detaillierte Erläuterung der mehrzeiligen sed-Verarbeitung unter Linux
Unter normalen Umständen liest sed die zu verarbeitende Zeile in den Musterbereich, und die Befehle im Skript verarbeiten die Zeile nacheinander, bis das Skript ausgeführt wird. Anschließend wird die Zeile ausgegeben und der Musterbereich ist leer Mit der Aktion soeben wird eine neue Zeile in die Datei eingelesen, bis die Datei vollständig verarbeitet ist. Allerdings können verschiedene Gründe, wie z. B. die Hoffnung des Benutzers, dass ein bestimmter Befehl im Skript unter bestimmten Bedingungen ausgeführt wird, oder die Hoffnung, dass der Musterraum für die nächste Verarbeitung erhalten bleibt, dazu führen, dass sed bei der Verarbeitung von Dateien nicht den Anweisungen folgt den normalen Vorgang aus. Zu diesem Zeitpunkt hat sed einige erweiterte Befehle eingerichtet, um den Benutzeranforderungen gerecht zu werden. Wenn Sie die erweiterten Befehle von sed erlernen möchten, müssen Sie zunächst die folgenden beiden Cache-Bereiche verstehen:
1. Definition des Musterraums: Der Musterraum ist ein Pufferbereich, der speichert, was sed gerade vom Eingabeende gelesen hat.
2. Definition des Haltebereichs: Der Haltebereich wird zum vorübergehenden Zwischenspeichern von Daten bei der Verarbeitung von Musterbereichsdaten verwendet.
Es gibt auch mehrere Befehlsparameter:
g: Kopieren Sie den Inhalt im Haltebereich in den Musterbereich und löschen Sie den ursprünglichen Inhalt im Musterbereich
G: Hängen Sie den Inhalt im Haltebereich an den Musterbereich an
h: Kopieren Sie den Inhalt im Musterbereich in den Haltebereich und der Inhalt im ursprünglichen Haltebereich wird gelöscht
H: Hängen Sie den Inhalt im Musterbereich an den Haltebereich an
x: Tauschen Sie den Inhalt von Musterraum und Halteraum aus
Zum Beispiel möchten wir den Inhalt einer Datei umkehren:
[qiu.li@l-tdata1.tkt.cn6 ~]$ cat tmp 1-line 2-line 3-line
Führen Sie den folgenden Befehl aus:
[qiu.li@l-tdata1.tkt.cn6 ~]$ sed '2,$G;h;$!d' tmp 3-line 2-line 1-line
Lassen Sie uns den oben genannten Ausführungsprozess nach und nach verstehen
1. Lassen Sie uns die folgenden drei Befehle analysieren:
2. Spezifische Operationen
Das obige ist der detaillierte Inhalt vonUmfassende Zusammenfassung: Detaillierte Erläuterung der mehrzeiligen sed-Verarbeitung unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!