comparison cut.txt @ 2:3659d2502d61

Zwischenstand
author markus schnalke <meillo@marmaro.de>
date Sat, 02 May 2015 18:31:00 +0200
parents a3f18ccc3996
children 7cd149433a96
comparison
equal deleted inserted replaced
1:a3f18ccc3996 2:3659d2502d61
47 das 80 Zeichen pro Zeile darstellen kann. Geht es aber nicht 47 das 80 Zeichen pro Zeile darstellen kann. Geht es aber nicht
48 um die Darstellung von Zeichen sondern um ihre Speicherung, 48 um die Darstellung von Zeichen sondern um ihre Speicherung,
49 dann ist `-c' nicht unbedingt die passende Option zur Kuerzung 49 dann ist `-c' nicht unbedingt die passende Option zur Kuerzung
50 langer Zeilen. 50 langer Zeilen.
51 51
52 Frueher als US-ASCII omnipraesente als Zeichensatz und -kodierung 52 Frueher, als US-ASCII omnipraesente als Zeichensatz und -kodierung
53 war, war jedes Zeichen durch genau ein Byte kodiert und somit 53 war, war jedes Zeichen durch genau ein Byte kodiert und somit
54 beschnitt `cut -c' sowohl nach Ausgabezeichen als auch nach 54 selektierte `cut -c' sowohl nach Ausgabezeichen als auch nach
55 Datenmenge. Als aber Multibyte-Kodierungen (z.B. UTF-8) aufkamen, 55 Bytes. Mit dem Aufkommen von Multibyte-Kodierungen (wie UTF-8)
56 musste man sich von dieser Annahme loesen. In diesem Zug 56 musste man sich von dieser Annahme loesen. In diesem Zug
57 bekam cut mit POSIX.2 die Option `-b'. Diese selektiert nach 57 bekam cut mit POSIX.2-1992 die Option `-b'. Diese selektiert
58 Bytes. Will man also nur die ersten maximal 20 Bytes vor dem 58 Bytes. Will man also nur die ersten maximal 20 Bytes vor dem
59 Newline-Zeichen stehen haben (und den Rest stillschweigend 59 Newline-Zeichen stehen haben (und den Rest stillschweigend
60 ignorieren), dann macht man das mit: 60 ignorieren), dann macht man das mit:
61 61
62 cut -b -20 62 cut -b -20
115 [ http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD-Reno/src/usr.bin/cut 115 [ http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD-Reno/src/usr.bin/cut
116 Die Manpage 116 Die Manpage
117 [ http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD-Reno/src/usr.bin/cut/cut.1 117 [ http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD-Reno/src/usr.bin/cut/cut.1
118 erwaehnt bereits die angestrebte aber noch vermutete Konformitaet 118 erwaehnt bereits die angestrebte aber noch vermutete Konformitaet
119 zu POSIX.2. Man muss wissen, dass POSIX.2 erst im September 119 zu POSIX.2. Man muss wissen, dass POSIX.2 erst im September
120 1992 veroeffentlicht wird. Die Aussage basiert also auf dem 120 1992 veroeffentlicht wurde. Die Aussage basiert also auf dem
121 Zwischenstand nach zweieinhalb der insgesamt fuenf Jahre, die 121 Zwischenstand nach zweieinhalb der insgesamt fuenf Jahre, die
122 die Arbeiten am Standard benoetigten. 122 die Arbeiten am Standard benoetigten.
123 123
124 Trotz all dieser Jahreszahlen aus den 80er Jahren gehoert cut 124 Trotz all dieser Jahreszahlen aus den 80er Jahren gehoert cut
125 aus Sicht des urspruenglichen Unix zu den juengeren Tools. 125 aus Sicht des urspruenglichen Unix zu den juengeren Tools.
132 132
133 Nichts desto trotz bewaehrte sich cut. Es wurde in andere 133 Nichts desto trotz bewaehrte sich cut. Es wurde in andere
134 Unix Varianten uebernommen und ist heutzutage ueberall 134 Unix Varianten uebernommen und ist heutzutage ueberall
135 anzutreffen. 135 anzutreffen.
136 136
137 Die Beschreibung von cut in POSIX.2 1992 ist sicher wichtig, 137 Mit POSIX.2 im Jahre 1992 wurde cut zum ersten Mal in der
138 zuvor war cut aber schon 1987 im X/OPEN Portability Guide, 138 heutigen Form (mit -b) standardisiert. In der urspruenglichen
139 Issue 2, Vol. 1, und davor sogar schon 1985 in der System V 139 Variante (ohne -b) taucht es u.a. 1985 in der System V
140 Interface Definition beschrieben worden. 140 Interface Definition, einer wichtigen formalen Beschreibung
141 von UNIX System V, auf.
142
143
144 Beschreibungen
145
146 Interessant ist ein Vergleich der Kurzbeschreibungen von cut,
147 wie man sie in der Titelzeile der Manpages oder manchmal auch
148 am Anfang der Quellcodedatei findet.
149
150 System III cut out selected fields of each line of a file
151 System III code cut and paste columns of a table (projection of a relation)
152 System V cut out selected fields of each line of a file
153 SVID cut out selected fields of each line of a file
154 HP-UX cut out (extract) selected fields of each line of a file
155
156 4.3BSD-UWisc cut and paste columns of a table (projection of a relation)
157 4.3BSD-Reno select portions of each line of a file
158 NetBSD select portions of each line of a file
159 FreeBSD 1.0 select portions of each line of a file
160 FreeBSD >2007 cut out selected portions of each line of a file
161 SunOS 4.1.3 remove selected fields from each line of a file
162 SunOS 5.5.1 cut out selected fields of each line of a file
163
164 POSIX cut out selected fields of each line of a file
165
166 GNU coreutils remove sections from each line of files
167
168 Minix select out columns of a file
169
170 Version 8 Unix rearrange columns of data
171 ``Unix Reader'' rearrange columns of text
141 172
142 173
143 174
175
176
177
178
179