So verwenden Sie den rev-Befehl unter Linux

Der rev-Befehl von Linux kehrt Textstrings um. Dieser Befehl kann entweder mit bereitgestelltem Text oder einer Datei ausgeführt werden und scheint täuschend einfach zu sein. Aber wie bei vielen Befehlszeilen-Dienstprogrammen zeigt sich seine wahre Leistungsfähigkeit, wenn Sie es mit anderen Befehlen kombinieren.

Der Befehl rev ist eines dieser einfachen Linux-Dienstprogramme, das auf den ersten Blick seltsam erscheint. Es führt eine einzige Funktion aus: es kehrt Strings um. Und abgesehen davon, dass es eine Schnellhilfeseite (-h) ausdrucken und Ihnen deren Versionsnummer anzeigen kann (-V), akzeptiert es keine Befehlszeilenoptionen.

Also dreht rev die Saiten um, und das war’s? Keine Variationen oder Optionen? Nun ja und nein. Ja, es hat keine Permutationen, aber nein, das ist kaum alles. Dieses Tutorial zeigt Ihnen, wie Sie es für leistungsstarke Operationen kombinieren können.

Wenn Sie rev als Baustein in komplizierteren Befehlssequenzen verwenden, zeigt es wirklich seinen Wert. rev gehört zu einer Gruppe von Befehlen (wie tac und yes), die Facilitatoren sind. Ihre Nützlichkeit ist leichter zu erkennen, wenn Sie sehen, wie sie die Verwendung anderer Befehle effizienter machen.

Verwenden des rev-Befehls

Wird in der Befehlszeile ohne andere Parameter verwendet, nimmt rev jede eingegebene Eingabe entgegen, kehrt sie um und gibt sie dann im Terminalfenster aus. Dies wird so lange fortgesetzt, bis Sie zum Beenden Strg + C drücken.

rev

Wenn Sie Text eingeben und die Eingabetaste drücken, druckt rev die Zeichenfolge in umgekehrter Reihenfolge – es sei denn, Sie geben a . an Palindrom, Natürlich.

Übergeben von Text an Rev

Sie können echo verwenden, um Text an Rev.

echo one two three | rev

Sie können rev auch verwenden, um den Inhalt einer gesamten Textdatei Zeile für Zeile umzukehren. In diesem Beispiel haben wir eine Datei mit einer Liste von Dateinamen. Die Datei heißt „filelist.txt“.

rev filelist.txt

Jede Zeile wird aus der Datei gelesen, umgekehrt und dann im Terminalfenster ausgegeben.

  Wie man Deadcore unter Linux spielt

Kombinieren von rev mit anderen Befehlen

Hier ist ein Beispiel für die Verwendung von Piping von Eingaben, das rev zweimal aufruft.

Dieser Befehl entfernt das letzte Zeichen aus der Textkette. Dies kann nützlich sein, um Satzzeichen zu entfernen. Wir müssen den cut-Befehl verwenden, um den Charakter ausziehen.

echo 'Remove punctuation.' | rev | cut -c 2- | rev

Lass uns das aufschlüsseln.

echo sendet die Zeichenfolge in den ersten Aufruf von rev.
rev dreht die Saite um und leitet sie in den Schnitt.
Die Option -c (Zeichen) weist cut an, eine Zeichenfolge aus dem String zurückzugeben.
Die Option 2- weist cut an, den Zeichenbereich von Zeichen zwei bis zum Ende der Zeile zurückzugeben. Wenn eine zweite Zahl angegeben würde, z. B. 2-5, würde der Bereich von zwei bis fünf Zeichen reichen. Keine zweite Zahl bedeutet „bis zum Ende der Zeichenfolge“.
Die umgekehrte Zeichenfolge – abzüglich des ersten Zeichens – wird an rev übergeben, wodurch die Zeichenfolge umgekehrt wird, sodass sie wieder in ihrer ursprünglichen Reihenfolge ankommt.

Da wir das erste Zeichen der umgekehrten Zeichenfolge abgeschnitten haben, haben wir das letzte Zeichen der ursprünglichen Zeichenfolge abgeschnitten. Ja, Sie könnten dies mit sed oder awk tun, aber dies ist eine einfachere Syntax.

Das letzte Wort trennen

Mit einem ähnlichen Trick können wir das letzte Wort der Zeile zurückgeben.

Der Befehl ähnelt dem letzten: Auch hier wird rev zweimal verwendet. Die Unterschiede liegen in der Art und Weise, wie der Ausschneidebefehl verwendet wird, um Teile des Textes auszuwählen.

echo 'Separate the last word' | rev | cut -d' ' -f1 | rev

Hier ist die Befehlsaufschlüsselung:

echo sendet die Zeichenfolge in den ersten Aufruf von rev.
rev dreht die Saite um und leitet sie in den Schnitt.
Die Option -d‘ ‚ (Trennzeichen) weist cut an, eine durch ein Leerzeichen getrennte Zeichenfolge zurückzugeben.
Die Option -f1 weist cut an, den ersten Abschnitt des Strings zurückzugeben, der das Trennzeichen nicht enthält. Mit anderen Worten, der erste Teil des Satzes bis zum ersten Leerzeichen.
Das umgekehrte erste Wort wird an rev übergeben, wodurch die Zeichenfolge umgekehrt wird, sodass sie wieder in ihrer ursprünglichen Reihenfolge liegt.

  Wie man Linux wie Chrome OS aussehen lässt

Da wir das erste Wort des umgekehrten Strings extrahiert haben, haben wir das letzte Wort des ursprünglichen Strings abgeschnitten. Das letzte Wort des Satzes war „Wort“ und wurde für uns ausgedruckt.

Zuschneiden von Inhalten aus Dateien

Nehmen wir an, wir haben eine Datei mit einer Liste von Dateinamen, und die Dateinamen stehen in Anführungszeichen. Wir möchten die Anführungszeichen aus den Dateinamen entfernen.

Schauen wir uns die Datei an:

less filelist.txt

Der Inhalt der Datei wird uns in weniger angezeigt.

Mit dem folgenden Befehl können wir die Satzzeichen an beiden Enden jeder Zeile entfernen. Dieser Befehl verwendet sowohl rev als auch cut zweimal.

rev filelist.txt | cut -c 2- | rev | cut -c 2-

Die Dateinamen sind für uns ohne Anführungszeichen aufgeführt.

Der Befehl gliedert sich wie folgt auf:

rev kehrt die Zeilen in der Datei um und leitet sie in cut.
Die Option -c (Zeichen) weist cut an, eine Zeichenfolge aus jeder Zeile zurückzugeben.
Die Option 2- weist cut an, den Zeichenbereich von Zeichen zwei bis zum Ende jeder Zeile zurückzugeben.
Die umgekehrten Zeichenfolgen, abzüglich ihrer ersten Zeichen, werden an rev übergeben.
rev kehrt die Saiten um, sodass sie wieder in ihrer ursprünglichen Reihenfolge sind. Sie werden ein zweites Mal in den Schnitt geleitet.
Die Option -c (Zeichen) weist cut an, eine Zeichenfolge aus jedem String zurückzugeben.
Die Option 2- weist cut an, den Zeichenbereich von Zeichen zwei bis zum Ende jeder Zeile zurückzugeben. Dies „springt“ über das führende Anführungszeichen, das in jeder Zeile das erste Zeichen ist.

  So erstellen Sie mit Timeshift ein Mac-ähnliches Backup unter Linux

Viel Rohrleitungen

Hier ist ein Befehl, der eine sortierte Liste aller Dateierweiterungen im aktuellen Verzeichnis zurückgibt. Es verwendet fünf verschiedene Linux-Befehle.

ls | rev | cut -d'.' -f1 | rev | sort | uniq

Der Prozess ist einfach:

ls listet die Dateien im aktuellen Verzeichnis auf. Diese werden in Rev.
rev kehrt die Dateinamen um und leitet sie in cut.
cut gibt den ersten Teil jedes Dateinamens bis zu einem Trennzeichen zurück. Das D‘.‘ weist cut an, den Punkt „.“ zu verwenden. als Trennzeichen. Der Teil der umgekehrten Dateinamen bis zum ersten Punkt sind die Dateierweiterungen. Diese werden in Rev.
rev kehrt die Dateierweiterungen in ihre ursprüngliche Reihenfolge um. Sie werden sortiert.
sort sortiert die Dateierweiterungen und leitet die Ergebnisse an uniq.
uniq gibt für jeden Typ einer eindeutigen Dateierweiterung eine einzelne Liste zurück. Beachten Sie, dass der gesamte Dateiname aufgeführt wird, wenn keine Dateierweiterung vorhanden ist (wie für das Makefile und die Verzeichnisse Help und gc_help).

Um ihm den letzten Schliff zu geben, fügen Sie dem uniq-Befehl die Befehlszeilenoption -c (count) hinzu.

ls | rev | cut -d'.' -f1 | rev | sort | uniq -c

Wir erhalten nun eine sortierte Liste der verschiedenen Dateitypen im aktuellen Verzeichnis mit der jeweiligen Anzahl.

Das ist ein ziemlich raffinierter Einzeiler!

DrawroF og ot DrawkcaB gnioG

Manchmal muss man rückwärts gehen, um vorwärts zu kommen. Und normalerweise kommt man im Team am schnellsten voran.

Erweitern Sie Ihr Repertoire an Go-to-Befehlen um Rev, und Sie werden es bald verwenden, um ansonsten komplizierte Befehlssequenzen zu vereinfachen.