# HG changeset patch # User markus schnalke # Date 1430584260 -7200 # Node ID 3659d2502d6119b9c25c4a2ff0bd5412e46838a6 # Parent a3f18ccc39961b698468f640a504ed9d50a307f0 Zwischenstand diff -r a3f18ccc3996 -r 3659d2502d61 cut.txt --- a/cut.txt Sat May 02 13:45:00 2015 +0200 +++ b/cut.txt Sat May 02 18:31:00 2015 +0200 @@ -49,12 +49,12 @@ dann ist `-c' nicht unbedingt die passende Option zur Kuerzung langer Zeilen. -Frueher als US-ASCII omnipraesente als Zeichensatz und -kodierung +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 (z.B. UTF-8) aufkamen, +selektierte `cut -c' sowohl nach Ausgabezeichen als auch nach +Bytes. Mit dem Aufkommen von Multibyte-Kodierungen (wie UTF-8) musste man sich von dieser Annahme loesen. In diesem Zug -bekam cut mit POSIX.2 die Option `-b'. Diese selektiert nach +bekam cut mit POSIX.2-1992 die Option `-b'. Diese selektiert 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: @@ -117,7 +117,7 @@ [ 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 +1992 veroeffentlicht wurde. Die Aussage basiert also auf dem Zwischenstand nach zweieinhalb der insgesamt fuenf Jahre, die die Arbeiten am Standard benoetigten. @@ -134,10 +134,46 @@ 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. +Mit POSIX.2 im Jahre 1992 wurde cut zum ersten Mal in der +heutigen Form (mit -b) standardisiert. In der urspruenglichen +Variante (ohne -b) taucht es u.a. 1985 in der System V +Interface Definition, einer wichtigen formalen Beschreibung +von UNIX System V, auf. +Beschreibungen +Interessant ist ein Vergleich der Kurzbeschreibungen von cut, +wie man sie in der Titelzeile der Manpages oder manchmal auch +am Anfang der Quellcodedatei findet. + +System III cut out selected fields of each line of a file +System III code cut and paste columns of a table (projection of a relation) +System V cut out selected fields of each line of a file +SVID cut out selected fields of each line of a file +HP-UX cut out (extract) selected fields of each line of a file + +4.3BSD-UWisc cut and paste columns of a table (projection of a relation) +4.3BSD-Reno select portions of each line of a file +NetBSD select portions of each line of a file +FreeBSD 1.0 select portions of each line of a file +FreeBSD >2007 cut out selected portions of each line of a file +SunOS 4.1.3 remove selected fields from each line of a file +SunOS 5.5.1 cut out selected fields of each line of a file + +POSIX cut out selected fields of each line of a file + +GNU coreutils remove sections from each line of files + +Minix select out columns of a file + +Version 8 Unix rearrange columns of data +``Unix Reader'' rearrange columns of text + + + + + + + +