Seq (Unix)

seq
Entwickler (en) AT & T Bell Laboratories
Erstveröffentlichung Februar 1985; Vor 37 Jahren
Betriebssystem Unix, Unix-artig, Plan 9
Plattform Plattformübergreifend
Typ Befehl
Lizenz CoreUtils: GPLV3+

An Unix-artig Computersysteme, seq ist ein Dienstprogramm zur Generierung a Reihenfolge Zahlen.

Geschichte

seq zuerst erschien auf 8. Ausgabe Forschung Unix 1985 und wurde nicht von anderen Varianten von übernommen Unix (wie kommerzielle Unixe oder BSD). Trotzdem wurde es später in verabschiedet Plan 9 von Bell Labsund von dort wurde in einige moderne BSD -Nachkommen wie kopiert Freebsd. Eine andere Version von seq wurde 1994 von Ulrich Drepper geschrieben, für GNU, und ist jetzt für alle erhältlich Linux Verteilungen als Teil der GNU -Kern -Dienstprogramme. Der Befehl ist als separates Paket für verfügbar Microsoft Windows Im Rahmen des Unxutils Sammlung von einheimisch Win32 Häfen von gemeinsamen GNU-Unix-ähnlichen Versorgungsunternehmen.[1]

Funktionalität

In seinem grundlegendsten Anwendungsfall, seq N druckt alle Ganzzahlen von 1 nach N der Reihe nach. Dies war bequem wie die Unix -Shell zu der Zeit, die Bourne Shell Hatte keine Primitiven für die Iteration über Zahlen, und sein "Für" -Kandbefehl konnte nur eine Liste von Wörtern wiederholen. SEQ wurde daher verwendet, um eine solche Liste zu generieren, wie in diesem Beispiel:

# Datei1 über File17 entfernen: zum n in `seq 17` tun     rm "Datei$ n" erledigt 

SEQ hatte zusätzliche Optionen zur Steuerung des Starts (nicht nur Ende) der numerischen Sequenz, dessen Inkrement (a) schwimmender Punkt Nummer) und die Formatierung der Nummer. GNU SEQ änderte den Namen und die Bedeutung der Formatoption (von -p nach -f) und fügte eine Option hinzu, um das Trennzeichen zwischen den Zahlen (-s, Standards zu einer neuen Linie) zu steuern.

Mit anderen verfügbaren Alternativen (z. B.,, Expr) und mit neueren Muscheln, die eine integrierte numerische Iteration hinzufügen, seq wird heute weniger häufig verwendet. In der modernen Linux -Shell, verprügelnDas obige Beispiel kann alternativ geschrieben werden als:

zum n in {1..17} tun     rm "Datei$ n" erledigt 

und effizienter, ohne die gesamte Sequenz im Voraus zu erzeugen, als

zum ((n=1; n <=17; N ++)) tun     rm "Datei$ n" erledigt 

Verweise

  1. ^ "Native Win32 -Ports einiger GNU -Dienstprogramme". Unxutils.SourceForge.net.
  1. SEQ -Handbuch Seite Ab der 8. Ausgabe Unix
  2. SEQ -Handbuch Seite von FreeBSD

Externe Links