ubuntuusers.de

seq

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/terminal.png Der Befehl seq gibt Zahlen in einem definierten Bereich aus. Er eignet sich gut, um Testdaten für Shell-Kommandos oder Zahlenreihen für alle möglichen Anwendungsfälle zu erzeugen.

Oft kann man das gleiche Ziel in der Bash allerdings auch durch eine sequence expression erreichen.

Installation

Das Programm seq ist im essentiellen Paket

  • coreutils

von Ubuntu enthalten und ist deshalb auf jedem System installiert.

Bedienung

Der Befehl seq kennt keine Eingaben, sondern nur Optionen [1] sowie Start- und Endwert sowie Schrittweite:

seq [OPTIONEN] ENDWERT
seq [OPTIONEN] STARTWERT ENDWERT
seq [OPTIONEN] STARTWERT SCHRITTWEITE ENDWERT 

Optionen von seq
Verfügbare Optionen Bedeutung
-f FORMAT oder --format=FORMAT Formatangabe für Fließkommazahlen wie bei printf
-s STRING oder --separator=STRING Angabe eines Zeichenkette, die als Trenner benutzt wird. Fehlt die Angabe wird ein Zeilenumbruch zwischen den Zahlen ausgegeben.
-w oder --equal-width Erzeugung gleichlanger Zahlen durch Ausgabe führender Nullen
--help Ausgabe der Kommandozeilenhilfe
--version Ausgabe der Programmversion

Beispiele

Einfache Verwendung

  • Angabe des Endwerts:

    seq 5 

    1
    2
    3
    4
    5
  • Angabe von Start- und Endwert:

    seq 3 5 

    3
    4
    5

Abwärts

  • Angabe des Startwerts, der Schrittweite und des Endwerts:

    seq 5 -2 1 

    5
    3
    1

Führende Nullen

  • seq -w 5 10 

    05
    06
    07
    08
    09
    10

Fließkommazahlen

  • seq -f '%3.1f' 5 

    1,0
    2,0
    3,0
    4,0
    5,0
  • seq -f '%04.1f' 6 10 

    06,0
    07,0
    08,0
    09,0
    10,0
  • LANG=en seq -f '%3.1f' 5 

    1.0
    2.0
    3.0
    4.0
    5.0

Trennzeichen

  • seq -s ';' 5 

    1;2;3;4;5
  • seq -s '---' 5 

    1---2---3---4---5

Bash sequence expression

  • for i in {1..5}; do echo $i; done 

    1
    2
    3
    4
    5
  • for i in {1..5..2}; do echo $i; done 

    1
    3
    5
  • for i in {1..5}; do printf '%3d\n' $i; done 

      1
      2
      3
      4
      5
  • for i in {1..5}; do printf '%03d\n' $i; done 

    001
    002
    003
    004
    005
  • for i in {1..5}; do printf '%03.1f\n' $i; done 

    1,0
    2,0
    3,0
    4,0
    5,0
  • for i in {1..5}; do LANG=en printf '%03.1f\n' $i; done 

    1,0
    2,0
    3,0
    4,0
    5,0

Diese Revision wurde am 3. Juni 2013 21:34 von noisefloor erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Programmierung, Shell