Eine Terminal-Eingabeaufforderung auf einem Linux-PC.

Fatmawati Achmad Zaenuri/Shutterstock

Das Linux |_+_| Befehl generiert im Handumdrehen Listen mit Zahlen. Doch wie lässt sich diese Funktionalität praktisch nutzen? Wir zeigen Ihnen, wie seq für Sie nützlich sein könnte.



Der seq-Befehl

Auf den ersten Blick ist das Linux |_+_| Befehl scheint etwas seltsam zu sein. Es ermöglicht Ihnen zu generieren Zahlenfolgen schnell und das wars! Das Schlüsselwort hier ist jedoch schnell. Sie werden gleich sehen, wie schnell dieser kleine Befehl ausgeführt werden kann.

Wie nützlich ist eine Liste von Zahlen, unabhängig davon, wie sie generiert werden? Die |_+_| Befehl wurde 1985 in die 8. Ausgabe von Unix aufgenommen. Seitdem ist er da, also muss er etwas Sinnvolles leisten.

Der Philosophie von Unix ist, dass es voller kleiner Dienstprogramme ist, die eine Sache tun und es gut machen. Einer der zentralen Grundsätze dieser Philosophie besteht darin, Programme zu schreiben, die Eingaben von anderen Programmen akzeptieren. Das bedeutet natürlich auch, dass diese Programme eine Ausgabe generieren müssen, die von anderen Programmen als Eingabe verwendet werden kann.

Die |_+_| Der Befehl kommt zur Geltung, wenn er mit anderen Befehlen verwendet wird, die seine Ausgabe verwenden, entweder durch Pipes oder die Befehlszeilenerweiterung.

Grundlegende Listengenerierung

Wenn Sie |_+_| . starten mit einer einzelnen Zahl als Befehlszeilenparameter zählt er von eins bis zu dieser Zahl. Es druckt dann die Zahlen im Terminalfenster, eine Zahl pro Zeile, wie unten gezeigt:

seq

Anzeige

Wenn Sie zwei Zahlen in die Befehlszeile eingeben, ist die erste die Startnummer und die zweite die Endnummer, wie unten gezeigt:

seq

Sie können eine Schrittweite festlegen, indem Sie eine dritte Zahl einschließen. Es sitzt zwischen der Start- und Endnummer. Wir geben Folgendes ein, um |_+_| . zu fragen um eine Liste von Zahlen zu erstellen, die mit sechs beginnt, mit 48 endet und einen Schritt von sechs verwendet:

seq

Rückwärts zählen

Wir können auch |_+_| . fragen um eine Liste mit Zahlen von der höchsten zur niedrigsten zu erstellen. Dazu müssen wir jedoch einen negativen Schritt vorsehen.

Der folgende Befehl erzeugt eine Liste, die in 6er-Schritten von 24 bis 12 zählt, da wir den Schritt als negative Zahl eingeben:

seq

Zählen mit Dezimalstellen

Die Start-, End- und Schrittnummern können auch Dezimalzahlen sein. Wenn eine der Zahlen eine Dezimalzahl ist, werden die anderen auch als Dezimalzahlen behandelt. Der folgende Befehl generiert eine Liste von Zahlen mit einer Schrittweite von 0,2:

seq

Die Geschwindigkeit von seq

|_+_| ist rasend schnell – der einzige Engpass ist die Zeit, die Sie für die Eingabe des Befehls im Terminalfenster benötigen. Um die Geschwindigkeit zu testen, bitten wir um eine Liste mit 250.000 Nummern.

Anzeige

Wir geben Folgendes ein, indem wir die seq Befehl, um zu sehen, wie lange der Vorgang dauert:

seq

Die Ergebnisse werden unterhalb der Liste angezeigt. Selbst auf unserem Test-PC mit mäßiger Leistung, |_+_| ist überraschend schnell.

Die gesamte Liste wurde in etwa 1/3 einer Sekunde erstellt und auf den Bildschirm geschrieben. Wenn wir die Liste in eine Datei umleiten, können wir sogar den Aufwand für die Eingabe im Terminalfenster vermeiden.

Dazu geben wir Folgendes ein:

seq

Die Zeit zum Vervollständigen der Liste und zum Erstellen der Datei beträgt jetzt etwa 1/7 Sekunde.

Verwenden eines Trennzeichens

Ein Zeilenumbruchzeichen ist das Standardzeichen, das zwischen jeder Zahl in einer Liste angezeigt wird. Deshalb erscheinen sie als vertikale Liste, wobei jede Zahl in einer eigenen Zeile steht. Bei Bedarf können Sie ein anderes Trennzeichen angeben.

ist google passwort manager sicher
Anzeige

Angenommen, Sie müssen eine durch Kommas getrennte Liste, eine durch Doppelpunkte geteilte Liste oder ein anderes Satzzeichen oder Symbol erstellen. Das Trennzeichen ist eigentlich eine Zeichenfolge, sodass Sie mehr als ein Zeichen verwenden können.

Wir verwenden die |_+_| (Trennzeichen) Option. Der folgende Befehl erzeugt eine durch Kommas getrennte Liste:

time

Dieser Befehl verwendet einen Doppelpunkt (|_+_|) als Trennzeichen:

seq

Dieser Befehl sagt |_+_| um zwei Bindestriche (|_+_|) als Trennzeichen zu verwenden:

-s

Verwenden von Formatstrings

Die |_+_| Befehl unterstützt auch C-Sprachstil Zeichenfolgen formatieren. Diese ermöglichen Ihnen, die Ausgabe mit viel mehr Kontrolle zu formatieren, als nur ein Trennzeichen anzugeben. Um eine Formatzeichenfolge zu verwenden, verwenden Sie |_+_| (Format)-Option.

Der folgende Befehl sagt |_+_| um Nullen zu verwenden, um die Ausgabe auf zwei Zeichen aufzufüllen:

:

Anzeige

Wir können die Zeichenfolge mit jedem beliebigen Text formatieren und die Zahl wie folgt an einer beliebigen Stelle in der Zeichenfolge platzieren:

seq

Eine schnelle Möglichkeit zum Einstellen der Nullauffüllung

Der schnellste Weg, Null-Padding einzustellen, ist die Verwendung von |_+_| (gleiche Breite) Option. Dies sagt |_+_| um die Zahlen mit Nullen aufzufüllen, damit sie alle dieselbe Breite wie die größte Zahl haben.

Der folgende Befehl zählt von 0 bis 1.000 in 100er Schritten und alle Zahlen werden mit Nullen aufgefüllt:

-

Die längste Zahl benötigt vier Zeichen, daher werden alle schmaleren Zahlen mit Nullen auf diese Breite aufgefüllt (sogar 0 wird auf vier Nullen aufgefüllt).

Verrohrung von seq in bc

Indem Sie das Trennzeichen als mathematisches Symbol setzen und die Liste in die |_+_| Befehl, wir können werte die Zahlen in dieser Liste aus .

Der folgende Befehl generiert eine Liste von Zahlen, die durch Sternchen (|_+_|) getrennt sind, beginnend bei eins und endend bei sechs:

seqAnzeige

Wenn wir diese Liste in |_+_| einspeisen, wertet es die Liste mit den Sternchen (|_+_|) als Multiplikationssymbole aus:

excel zellen nach farbe zählen
-f

Wir können dies auch mit anderen Symbolen tun. Der folgende Befehl verwendet ein Pluszeichen (|_+_|), um eine Liste zu erstellen, in der alle Zahlen hinzugefügt werden:

seq

Wir geben Folgendes ein, um das in |_+_| . zu leiten und werte die Liste aus:

-w

Erstellen von Dateien mit seq

Die |_+_| Befehl aktualisiert Zeit- und Datumsstempel auf Dateien. Wenn die Datei nicht vorhanden ist, wird sie durch Berühren erstellt. Wir können die Befehlszeilenerweiterung mit |_+_| . verwenden und |_+_| um eine Sammlung von thematisch benannten, aber unterschiedlich nummerierten Dateien zu erstellen.

Wir erstellen einen Satz von 10 Dateien mit demselben Basisnamen und einer anderen Nummer (Datei-1.txt, Datei-2.txt usw.). Wir geben folgendes ein:

seq

Dann geben wir Folgendes ein, um die Dateien zu überprüfen:

bc

Seq in Bash-Loops verwenden

Wir können |_+_| . verwenden in Bash-Skripten, um Schleifen mit Dezimalstellen zu steuern.

Anzeige

Geben Sie den folgenden Text in einen Editor ein und speichern Sie ihn als loops.sh:

*

Als nächstes geben wir Folgendes ein, um unser neues Skript ausführbar zu machen:

bc

Wenn wir das Skript ausführen, wird der Schleifenzähler im Terminalfenster ausgegeben. Wir können dann Folgendes eingeben, um zu sehen, wie der Dezimalschleifenzähler mit jeder Iteration der Schleife ansteigt:

*

Denken Sie daran, dass |_+_| kann auch rückwärts zählen; Sie können das auf die gleiche Weise in Schleifen verwenden.

Schön und einfach

Eine Sache über |_+_| gibt es keine große Lernkurve. Es hat ein erfrischend kurz |_+_| Seite, aber Sie können es trotzdem auf interessante Weise verwenden.

Da wir oft schnell Testdateien mit realistischen Größen erstellen müssen, verwenden wir |_+_| mit einer Formatzeichenfolge. Anschließend leiten wir die Ausgabe um, um eine Datei zu erstellen, die so viele Zeilen mit Dummy-Daten enthält, wie wir möchten.

Linux-Befehle
Dateien Teer · pv · Katze · tac · chmod · Griff · unterschied · sed · Mit · Mann · geschoben · popd · fsck · Testdisk · seq · fd · pandoc · CD · $PFAD · awk · beitreten · jq · falten · einzigartig · Journalctl · Schwanz · Zustand · ls · fstab · rauswerfen · weniger · chgrp · chown · rev · suchen · Saiten · Typ · umbenennen · Postleitzahl · entpacken · montieren · ummount · Installieren · fdisk · mkfs · rm · rmdir · rsync · df · gpg · wir · Nano · mkdir · von · ln · Patch · Konvertieren · rclon · Fetzen · SRM
Prozesse alias · Bildschirm · oben · nett · renice · Fortschritt · strace · System · tmux · chsh · Geschichte · beim · Charge · kostenlos · die · dmesg · Benutzermod · ps · chroot · xargs · tty · kleiner Finger · lsof · vmstat · Auszeit · Mauer · ja · töten · Schlaf · sudo · seine · Zeit · groupadd · Benutzermod · Gruppen · lshw · stilllegen · neu starten · halt · ausschalten · passwd · lscpu · crontab · Datum · bg · fg
Vernetzung netstat · Klingeln · Traceroute · ip · ss · Wer ist · fail2ban · bmon · Sie · Finger · nmap · ftp · Locken · wget · Wer · Wer bin ich · In · iptables · ssh-keygen · ufw

VERBUNDEN: Beste Linux-Laptops für Entwickler und Enthusiasten

WEITER LESEN
  • › Was ist MIL-SPEC Fallschutz?
  • › So finden Sie Ihr Spotify Wrapped 2021
  • Cyber ​​Monday 2021: Die besten Tech-Deals
  • › Der Computerordner ist 40: Wie Xerox Star den Desktop erstellte
  • › Funktionen vs. Formeln in Microsoft Excel: Was ist der Unterschied?
  • › 5 Websites, die jeder Linux-Benutzer mit einem Lesezeichen versehen sollte