Unter Linux finden Sie mehrere Befehle mit ungewöhnlichen Funktionen. Ein solcher Befehl ist seq, der abhängig von den angegebenen Argumenten eine Zahlenfolge ausgibt.

Aber was können Sie möglicherweise mit einem Befehlszeilendienstprogramm tun, das Sie mit einer Reihe von Ziffern bewirft? Das erfährst du in diesem Ratgeber.

Was ist der seq-Befehl?

Wie oben erwähnt, generiert der seq-Befehl in Linux schnell eine Folge numerischer Zeichen. Benutzer können dem Befehl Argumente übergeben, um verschiedene Zahlenkombinationen zu generieren. Sie können beispielsweise eine inkrementierte Liste erhalten, indem Sie einfach ein zusätzliches Argument an seq übergeben.

Aber was ist der praktische Nutzen des Befehls? Obwohl seq in seiner Gesamtheit nicht wie ein leistungsstarkes Tool erscheint, können Sie von dem Befehl profitieren, indem Sie ihn mit anderen Linux-Dienstprogrammen implementieren. Sie können auch seq in. verwenden Bash-Skripte seine wahre Kraft zu enthüllen.

So verwenden Sie seq unter Linux

instagram viewer

Seq braucht nur wenige Argumente, was es zu einem leicht zu erlernenden Werkzeug für jeden macht.

Grundsyntax

Die grundlegende Syntax des Befehls lautet:

seq-optionsnummern

...wo Optionen sind die Flags, die Sie angeben können, um verschiedene Methoden des Befehls aufzurufen und Zahlen sind die Argumente, die Sie übergeben, um die numerische Sequenz zu generieren.

Generieren Sie eine Liste von Zahlen

Seq-Argumente folgen dem unten angegebenen Eingabeformat:

seq zuletzt
seq zuerst letzter
seq erstes Inkrement zuletzt

Wenn Sie nur eine Zahl angeben, interpretiert seq diese als Obergrenze für die Liste und generiert eine Sequenz beginnend bei eins bis zur angegebenen Zahl.

Fortsetzung 5

Der oben genannte Befehl gibt Folgendes aus:

1
2
3
4
5

Wenn seq zwei Zahlen als Eingabe empfängt, interpretiert es diese als Untergrenze und Obergrenze für die Sequenz. So erstellen Sie eine Liste mit Zahlen von vier bis acht:

Fortsetzung 4 8

Ausgabe:

4
5
6
7
8

Wenn Sie jedoch drei Zahlen an den Befehl übergeben, interpretiert er das zweite Argument als Inkrementnummer. Beispielsweise:

Fortsetzung 3 2 13

Der oben genannte Befehl gibt eine Liste mit Zahlen von drei bis 13 in einer Schrittweite von zwei aus.

3
5
7
9
11
13

Trennzeichen zwischen Zahlen hinzufügen

Standardmäßig verwendet seq ein Zeilenumbruchzeichen als Trennzeichen für die Liste. Aus diesem Grund steht jede Nummer in der Liste in einer separaten Zeile.

Sie können dieses Standardverhalten ändern und ein benutzerdefiniertes Trennzeichen verwenden, indem Sie das -s Flagge. Um die zu verwenden Zeitraum (.) Zeichen als Trennzeichen:

seq -s. 3 7

Ausgabe:

3.4.5.6.7

Denken Sie daran, dass einige Charaktere wie die Tilde (~) muss in Anführungszeichen stehen. Dies liegt daran, dass das Terminal die Tilde Zeichen zur Bezeichnung der /home Verzeichnis, und das würde sich in der Ausgabe widerspiegeln, wenn Sie die Anführungszeichen nicht hinzufügen.

seq -s ~ 3 7

Ausgabe:

3/Zuhause/4/Zuhause/5/Zuhause/6/Zuhause/7

Auf der anderen Seite, wenn Sie das Trennzeichen mit Anführungszeichen umschließen:

seq -s '~' 3 7

Ausgabe:

3~4~5~6~7

Optimieren Sie das Ausgabeformat

Sie können das Format für die Ausgabereihenfolge auch mit der Schaltfläche. ändern -f Flagge. Standardmäßig extrahiert seq den Formatstil aus der Benutzereingabe. Wenn Sie beispielsweise die Zahlen 0,1 und 0,5 angeben, hat die Standardausgabe ein Gleitkomma-Zahlenformat.

seq 0.1 0.5

Ausgabe:

0.1
0.2
0.3
0.4
0.5

Sie können ein benutzerdefiniertes Ausgabeformat mit den verschiedenen Konvertierungsspezifikationen wie %a, %e, %f, %g, %A, %E, %F und %G angeben.

Du kannst den... benutzen %f -Bezeichner, wenn die Ausgabe einem Gleitkommazahlenformat folgen soll.

seq-f %f 4 7

Ausgabe:

4.000000
5.000000
6.000000
7.000000

So ändern Sie die Genauigkeit auf bis zu zwei Dezimalstellen:

seq -f %0.2f 4 7

Ausgabe:

4.00
5.00
6.00
7.00

Sie können die Ausgabe auch vollständig transformieren, indem Sie eine Ausgabevorlage angeben. Um beispielsweise eine Liste aller IP-Adressen zu erhalten, die mit beginnen 192.168.5.x:

seq -f 192.168.5.%g 1 233

Ausgabe:

Um der Ausgabe Auffüllung hinzuzufügen, können Sie die -w Flagge. Das -w Flag behält die Breite der Ausgabe gemäß der größten angegebenen Zahl bei.

So generieren Sie eine Zahlenfolge zwischen eins und 1.000 mit einer Schrittweite von 100 unter Beibehaltung einer konstanten Breite:

seq -w 1 100 1000

Ausgabe:

0001
0101
0201
0301
0401
0501
0601
0701
0801
0901

Holen Sie sich die seq-Befehlszeilenhilfe

Obwohl seq einfach zu bedienen ist, haben Benutzer manchmal das Bedürfnis, dies zu tun Überprüfen Sie die Handbuchseite für den Befehl. Das --Hilfe flag zeigt die seq-Manpage an:

seq --help

Ausgabe:

Praktische Beispiele

Wie bereits erwähnt, wird seq hauptsächlich mit anderen Linux-Befehlen verwendet, zum Beispiel touch und expr.

Mathematische Operationen durchführen

Wenn Sie einen bestimmten Zahlenbereich schnell addieren oder subtrahieren möchten, können Sie dies einfach tun, indem Sie seq inside verwenden ausdruck, ein Linux-Befehl, der die Eingabe als Ausdruck behandelt und die entsprechende Ausgabe anzeigt.

So addieren Sie alle Zahlen zwischen eins und 100:

expr `(seq -s " + " 1 100)`

Der Befehl seq erzeugt eine Ausgabe wie folgt:

1 + 2 + 3 + 4 + 5 + 6...

Expr behandelt ihn als Eingabeausdruck und gibt die Lösung aus.

5050

Sie können andere mathematische Operationen ausführen, indem Sie einfach das Trennzeichen im Befehl seq durch andere Operatoren ersetzen.

Erstellen Sie schnell mehrere Dateien

Wenn Sie unter Linux mehrere Dateien erstellen möchten, deren Namen einem ähnlichen Muster folgen, können Sie dies ganz einfach mit. tun der Touch-Befehl und seq.

Um beispielsweise 10 Dateien mit dem Namen zu erstellen create Datei-x.txt, wo x ist eine Zahl von eins bis 10:

touch $(seq -f "file%g.txt" 1 10)

Touch erstellt die Dateien im Handumdrehen für Sie.

Implementieren von seq in Skripten

Betrachten Sie, dass Sie schreiben a Netzwerk-Scanner-Tool wie Nmap in der bash möchten Sie vielleicht eine Liste aller offenen Ports in einem Netzwerk erhalten. Dafür müssen Sie jedoch jeden Port (insgesamt 65535) pingen und die Antwort analysieren.

Um Zeit zu sparen, können Sie seq verwenden und eine Liste von IP-Adressen und Portkombinationen erstellen, die Sie in Ihrem Skript verwenden können.

Nehmen wir an, Sie möchten die Liste aller Ports eines Geräts mit der IP-Adresse abrufen 1.2.3.4. Hier ist ein kurzer Befehl, um die gewünschte Ausgabe zu generieren:

seq -f 1.2.3.4:%g 1 65535

Ausgabe:

Sie können diese Ausgabe dann als Liste verwenden und sie durchlaufen, jeden Port mit Ihrem Skript überprüfen und analysieren, ob er geöffnet ist oder nicht.

Wie schnell generiert seq die Zahlen?

Sie denken vielleicht, wenn Sie mit einer for-Schleife in der bash ähnliche Ergebnisse erzielen können, warum wählen Sie dann seq für die Aufgabe? Dies liegt daran, dass die wahre Stärke von seq in seiner Geschwindigkeit liegt. Seq ist schneller als jeder andere Befehl, der unter Linux eine Zahlenfolge generiert.

Sie können die Geschwindigkeit sogar mit dem Zeitdienstprogramm unter Linux testen. Mal sehen, wie lange es dauert, bis seq eine Liste mit einer Million Zahlen beginnend mit einer generiert.

Zeitfolge 1000000

Wenn Sie sich die Ausgabe unten ansehen, können Sie sehen, dass seq nur etwa vier Sekunden benötigt hat, um eine Liste mit einer Million Zahlen zu generieren.

Die Macht der Linux-Befehlszeile

Seq ist nicht das einzige Tool unter Linux, das sich stark darauf konzentriert, schnelle und genaue Ergebnisse zu liefern. Während Sie mit eine Liste von Nummern erstellen können eine for-Schleife in bash, es ist keine empfohlene Vorgehensweise, wenn man bedenkt, wie schnell seq wirklich ist.

Die Linux-Befehlszeile gibt Ihnen mehr Kontrolle über das Betriebssystem und seine Funktionalitäten, was auch ein Grund ist, warum Sie das Terminal noch heute über die GUI verwenden sollten.

Email
5 Gründe, das Linux-Terminal über die GUI zu wählen

Die Linux-Befehlszeile hat einen hohen Stellenwert, wenn es um Leistung, Kontrolle und Benutzerfreundlichkeit geht.

Weiter lesen

Verwandte Themen
  • Linux
Über den Autor
Deepesh Sharma (65 veröffentlichte Artikel)

Deepesh ist Junior Editor für Linux bei MUO. Er schreibt seit über 3 Jahren Informationsinhalte im Internet. In seiner Freizeit schreibt er gerne, hört Musik und spielt Gitarre.

Mehr von Deepesh Sharma

Abonnieren Sie unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Noch ein Schritt…!

Bitte bestätigen Sie Ihre E-Mail-Adresse in der E-Mail, die wir Ihnen gerade gesendet haben.

.