changeset 1:a3f18ccc3996

Zwischenstand
author markus schnalke <meillo@marmaro.de>
date Sat, 02 May 2015 13:45:00 +0200
parents 5efb052a0d9e
children 3659d2502d61
files cut.txt
diffstat 1 files changed, 45 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/cut.txt	Sat May 02 09:54:00 2015 +0200
+++ b/cut.txt	Sat May 02 13:45:00 2015 +0200
@@ -5,7 +5,7 @@
 markus schnalke, 2015-04
 
 
-Cut ist eines der klassischen Programme im Unix-Werkzeugkasten.
+Cut ist ein klassisches Programm im Unix-Werkzeugkasten.
 In keinem ordentlichen Tutorial zur Shellprogrammierung darf
 es fehlen. Es ist ein schoenes Anschauungs- und Beispielobjekt
 fuer's Shellscripting. Hier soll es portraitiert werden.
@@ -49,17 +49,17 @@
 dann ist `-c' nicht unbedingt die passende Option zur Kuerzung
 langer Zeilen.
 
-Frueher als US-ASCII das omnipraesente Charset und Encoding
+Frueher als US-ASCII omnipraesente als Zeichensatz und -kodierung
 war, war jedes Zeichen durch genau ein Byte kodiert und somit
 beschnitt `cut -c' sowohl nach Ausgabezeichen als auch nach
-Datenmenge. Als aber Multibyte-Kodierungen, wie UTF-8, aufkamen,
+Datenmenge. Als aber Multibyte-Kodierungen (z.B. UTF-8) aufkamen,
 musste man sich von dieser Annahme loesen. In diesem Zug
 bekam cut mit POSIX.2 die Option `-b'. Diese selektiert nach
-Bytes. Will man also nur die ersten maximal 63 Bytes vor dem
+Bytes. Will man also nur die ersten maximal 20 Bytes vor dem
 Newline-Zeichen stehen haben (und den Rest stillschweigend
 ignorieren), dann macht man das mit:
 
-	cut -b -63
+	cut -b -20
 
 
 Neben dem Zeichen- bzw. Byte-Modus bietet cut noch den
@@ -98,12 +98,46 @@
 
 Geschichtliches
 
-Cut erblickte in XXX das Licht der Welt. Im Verleich zu
-XXX stiess es erst relativ spaet XXX
+Cut erblickte 1982 als Teil von UNIX System III das Licht der
+oeffentlichen Welt. In den Quellen von System III findet sich
+cut.c mit dem Zeitstempel 1980-04-11.
+[ http://minnie.tuhs.org/cgi-bin/utree.pl?file=SysIII/usr/src/cmd
 
-XXX ueber XXX floss
-es in den XXX Standard ein, wo es seither residiert.
+Aber werfen wir doch einen Blick auf die BSD-Linie: Dort ist mein
+fruehester Fund ein cut.c mit dem Datum 1986-11-07 im Code der
+Spezialversion 4.3BSD-UWisc, die im Januar 1987 veroeffentlicht
+.
+[ http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD-UWisc/src/usr.bin/cut
+Im bekannteren 4.3BSD-Tahoe (1988) taucht es nicht auf. Im
+darauf folgenden 4.3BSD-Reno (1990) gibt es aber wiederum ein
+cut, das von Adam S. Moskowitz und Marciano Pitargue geschrieben
+und 1989 in BSD aufgenommen worden ist.
+[ http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD-Reno/src/usr.bin/cut
+Die Manpage
+[ http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD-Reno/src/usr.bin/cut/cut.1
+erwaehnt bereits die angestrebte aber noch vermutete Konformitaet
+zu POSIX.2. Man muss wissen, dass POSIX.2 erst im September
+1992 veroeffentlicht wird. Die Aussage basiert also auf dem
+Zwischenstand nach zweieinhalb der insgesamt fuenf Jahre, die
+die Arbeiten am Standard benoetigten.
 
-Standardisierung
+Trotz all dieser Jahreszahlen aus den 80er Jahren gehoert cut
+aus Sicht des urspruenglichen Unix zu den juengeren Tools.
+Wenn cut auch ein Jahrzehnt aelter als Linux, der Kernel, ist,
+so existierte Unix wiederum schon ein ganzes Jahrzehnt bevor cut
+das erste Mal auftauchte. Insbesondere war cut nicht in Version 7
+Unix vorhanden, das die Ausgangsbasis aller modernen Unix-Systeme
+darstellt. (Das weit komplexere sed z.B. war dort schon
+vertreten.)
 
-Verbreitung
+Nichts desto trotz bewaehrte sich cut. Es wurde in andere
+Unix Varianten uebernommen und ist heutzutage ueberall
+anzutreffen.
+
+Die Beschreibung von cut in POSIX.2 1992 ist sicher wichtig,
+zuvor war cut aber schon 1987 im X/OPEN Portability Guide,
+Issue 2, Vol. 1, und davor sogar schon 1985 in der System V
+Interface Definition beschrieben worden.
+
+
+