Sed: Lernen von Shell-Skripten mit dem Befehl Sed Terminal

Sed: Lernen von Shell-Skripten mit dem Befehl Sed Terminal

Sed: Lernen von Shell-Skripten mit dem Befehl Sed Terminal

Der Befehl "sed" In freien Betriebssystemen vom Typ GNU / Linux ist dies ein sehr vielseitiger Befehl, da wiederum Es wird als Texteditor betrachtet, der auf "Flow" anstatt auf "Interaktiv" ausgerichtet istDa eine Datei oder Standardeingabe als Eingabe akzeptiert wird, wird jede Zeile verarbeitet und das Ergebnis an die Standardausgabe gesendet. Das heißt, Mit SED (Stream EDitor) können wir den Inhalt der verschiedenen Zeilen einer Datei basierend auf einer Reihe von Befehlen oder einer Befehlsdatei ändern.

Im Allgemeinen wird der Befehl «sed» als Filter verwendet, da es jede Zeile Ihrer Dateneingabe liest und dann die angeforderten Aktionen ausführt, die normalerweise gelesen, extrahiert, geändert und angezeigt oder gespeichert werden. Obwohl seine Macht so ist, dass Darüber hinaus können wir auf bequeme Weise Zeilen und Datensätze löschen oder Zeichenfolgen innerhalb der Zeilen einer Datei ersetzen.

Einführung in den Befehl "sed"

Bereits in anderen früheren Veröffentlichungen in DesdeLinux Wir haben über die Verwendung dieses Befehls gesprochen und Beispiele gezeigtWie zum Beispiel: So löschen Sie bestimmte Zeilen aus einer Datei ... y Mit Terminal: Verwenden regulärer Ausdrücke II: ErsetzungenDiesmal sehen wir also direkt etwas fortgeschrittenere und ebenso praktische Beispiele dafür.

Grundsätzlich hat der Befehl «sed» folgende Syntax:

sed comandos_sed archivo

Wo "Command_sed" entspricht einer oder mehreren Spezifikationen darüber, was mit den Zeilen zu tun ist, aus denen gelesen wird "Archiv".

Eine umfassendere Verwendung führt zu folgender Syntax:

sed [-ns] '[direccion] instruccion argumentos'

Wo:

SED-Befehlsverwendungsformat

Praktische Beispiele

Listen Sie Dateien / Ordner in einem Pfad auf

Nützliche Befehlszeile, mit der der Inhalt eines angegebenen X-Pfads aufgelistet und anschließend ein gesuchtes Element erkannt / gezählt / gefiltert und eine nachfolgende auszuführende Aktion angegeben werden kann.

ls -l | awk '{ print $NF }' | sed 1d

Beispiel:

Beispiel 1: SED-Befehl - Shell Scripting

Diese andere Variante mit dem Befehl "sed" ist sehr nützlich:

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed 's/^\.\///g' | xargs -n 1 basename

Beispiel 4: SED-Befehl für Shell Scripting

Erstellen Sie eine Zahlenfolge

Zeigen Sie auf dem Bildschirm eine numerische Sequenz (oder eine andere Eingabe) an oder speichern Sie sie in einer Datei, die erstellt wurde, jedoch in horizontaler (linearer) und nicht vertikaler Form, die später für andere Prozesse gelesen werden kann.

seq 100|tr '\n' ' '|sed 's, $,\n,g'

Beispiel 2: SED-Befehl für Shell Scripting

Das gleiche Beispiel kann durch Kombinieren des Befehls «gemacht werdenDurst" mit "Printf" Wie nachfolgend dargestellt:

printf '%s ' {1..100}|sed 's/ $/\n/'

Beispiel 3: SED-Befehl für Shell Scripting

Löschen Sie Dateien mit Ausschlüssen

Überprüfen eines Dateisystempfads nach Mustern von Dateien, die ausgeschlossen werden sollen, und Löschen des restlichen Inhalts. Sehr nützlich für eine präzise und sorgfältige Reinigung.

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed -e '/.*\.txt$/d' -e '/.*\.exe$/d' | xargs rm

Beispiel 5: SED-Befehl für Shell_Scripting

Erstellen Sie eine virtuelle MAC-Adresse

Dieser Schritt kann für Computersicherheits- oder Schutzaufgaben nützlich sein, wenn Sie gefährliche Websites durchsuchen oder Hacking-Aufgaben ausführen.

MAC=`(date; cat /proc/interrupts) | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'` ; echo $MAC

Der gleiche Effekt kann erzielt werden, indem der Befehl "sed" zusammen mit anderen Befehlen verwendet wird, wie unten gezeigt:

openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'
od -An -N10 -x /dev/random | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'
od /dev/urandom -w6 -tx1 -An|sed -e 's/ //' -e 's/ /:/g'|head -n 1

Beispiel:

Beispiel 7: SED-Befehl für Shell Scripting

Ändern Sie vorübergehend die Terminal-Eingabeaufforderung

Dies kann uns helfen, vorübergehend Parameter in unsere Eingabeaufforderung einzufügen, die nützlich sein können, wenn wir eine spezielle Aktivität ausführen. In diesem Beispiel ändern wir nur die Art und Weise, wie die Eingabeaufforderung angezeigt wird.

export PS1="C:\$( pwd | sed 's:/:\\\\\\:g' )\\> "

Beispiel 8. SED-Befehl für Shell Scripting

Verwalten Sie die Ausgabe des Befehls "ps"

Sehr praktische Befehlsreihenfolge, um eine benutzerdefinierte Formatierung der Ausgabe des Befehls "ps" zu ermöglichen, dh der vom Terminal Process Manager erhaltenen.

sudo ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed "/^ 0.0 /d"

Beispiel:

Beispiel 9: SED-Befehl für Shell Scripting

Dies kann für Prozesse entsprechend dem Prozentsatz des verbrauchten Speichers angewendet werden:

sudo ps -e -o pmem,nice,state,cputime,args --sort pmem | sed "/^ 0.0 /d"

Diese Beispiele für Befehlszeilen mit dem Befehl "sed" Ich hoffe, Sie finden es sehr nützlich. Und sie können verwendet werden, um direkt von der Konsole oder indirekt durch Einfügen in ein Skript (automatisierte Aufgabe) verwendet zu werden.

Im nächsten Beitrag zu Shell Scripting werden wir andere Befehle untersuchen.

Wenn Sie mehr über den Befehl "sed" erfahren möchten, besuchen Sie diesen Link.Tutorial und Kurzanleitung für Unix und Linux"Oder"Grundlegende Verwendung»Und wenn Sie mehr über Shell Scripting in unserem eigenen Blog erfahren möchtenKlicken Sie hier, um einen Blick auf unsere anderen Veröffentlichungen zu diesem Thema zu werfen: Skripterstellung DesdeLinux.


Hinterlasse einen Kommentar

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

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.