comparison cut.de.ms @ 36:c584c7d907c5

Seiten- und Zeilenumbrueche optimiert
author markus schnalke <meillo@marmaro.de>
date Fri, 02 Oct 2015 07:30:45 +0200
parents 3b4e53e04958
children
comparison
equal deleted inserted replaced
35:7662fc16cc4c 36:c584c7d907c5
87 den Zeichenmodus neu zu implementieren. 87 den Zeichenmodus neu zu implementieren.
88 .PP 88 .PP
89 Neben dem Zeichen- und Bytemodus bietet cut noch den 89 Neben dem Zeichen- und Bytemodus bietet cut noch den
90 Feldmodus, den man mit \f(CW-f\fP einleitet. Mit ihm 90 Feldmodus, den man mit \f(CW-f\fP einleitet. Mit ihm
91 können Felder ausgewählt werden. Das Trennzeichen (per 91 können Felder ausgewählt werden. Das Trennzeichen (per
92 Default der Tab) kann mit \f(CW-d\fP geändert werden. Es gilt in 92 Default der Tab) kann mit \f(CW-d\fP ge\%ändert werden. Es gilt in
93 gleicher Weise für die Eingabe und die Ausgabe. 93 gleicher Weise für die Eingabe und die Ausgabe.
94 .PP 94 .PP
95 Der typische Anwendungsfall für cut im Feldmodus ist die 95 Der typische Anwendungsfall für cut im Feldmodus ist die
96 Auswahl von Information aus der passwd-Datei. Hier z.B. der 96 Auswahl von Information aus der passwd-Datei. Hier z.B. der
97 Benutzername und seine ID: 97 Benutzername und seine ID:
172 vom November 1979 enthält die früheste Erwähnung von cut, die 172 vom November 1979 enthält die früheste Erwähnung von cut, die
173 meine Recherche zutage gefördert hat: eine Manpage für cut 173 meine Recherche zutage gefördert hat: eine Manpage für cut
174 .[[ ftp://sunsite.icm.edu.pl/pub/unix/UnixArchive/PDP-11/Distributions/other/CB_Unix/cbunix_man1_02.pdf . 174 .[[ ftp://sunsite.icm.edu.pl/pub/unix/UnixArchive/PDP-11/Distributions/other/CB_Unix/cbunix_man1_02.pdf .
175 .PP 175 .PP
176 Nun ein Blick auf die BSD-Linie: Dort ist der früheste 176 Nun ein Blick auf die BSD-Linie: Dort ist der früheste
177 Fund ein cut.c mit dem Dateimodifikationsdatum 1986-11-07 177 Fund ein cut.c mit dem Datei\%modifikationsdatum 1986-11-07
178 .[[ http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD-UWisc/src/usr.bin/cut 178 .[[ http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD-UWisc/src/usr.bin/cut
179 als Teil der Spezialversion 4.3BSD-UWisc 179 als Teil der Spezialversion 4.3BSD-UWisc
180 .[[ http://gunkies.org/wiki/4.3_BSD_NFS_Wisconsin_Unix , 180 .[[ http://gunkies.org/wiki/4.3_BSD_NFS_Wisconsin_Unix ,
181 die im Januar 1987 veröffentlicht wurde. 181 die im Januar 1987 veröffentlicht wurde.
182 Die Implementierung unterscheidet sich nur minimal von der 182 Die Implementierung unterscheidet sich nur minimal von der
254 Beschreibung von UNIX System V, spezifiziert und tauchte 254 Beschreibung von UNIX System V, spezifiziert und tauchte
255 anschließend in allen relevanten Standards auf. Mit POSIX.2 255 anschließend in allen relevanten Standards auf. Mit POSIX.2
256 im Jahre 1992 wurde cut zum ersten Mal in der heutigen Form 256 im Jahre 1992 wurde cut zum ersten Mal in der heutigen Form
257 (mit \f(CW-b\fP) standardisiert. 257 (mit \f(CW-b\fP) standardisiert.
258 258
259 .pl -1
259 .SH 260 .SH
260 Multibyte-Unterstützung 261 Multibyte-Unterstützung
261 .LP 262 .LP
262 Nun sind der Bytemodus und die damit verbundene 263 Nun sind der Bytemodus und die damit verbundene
263 Multibyte-Verarbeitung des POSIX-Zeichenmodus bereits seit 264 Multibyte-Verarbeitung des POSIX-Zeichenmodus bereits seit
264 1992 standardisiert, wie steht es aber mit deren Umsetzung? 265 1992 standardisiert, wie steht es aber mit deren Umsetzung?
265 Welche Versionen implementieren POSIX korrekt? 266 Welche Versionen implementieren POSIX korrekt?
266 Die Situation ist dreiteilig: Es gibt historische 267 Die Situation ist dreiteilig: Es gibt historische
267 Implementierungen, die nur \f(CW-c\fP und \f(CW-f\fP kennen. Dann gibt es 268 Implementierungen, die nur \f(CW-c\fP und \f(CW-f\fP kennen. Dann gibt es
268 Implementierungen die \f(CW-b\fP zwar kennen, es aber lediglich als Alias 269 Implementierungen die \f(CW-b\fP zwar kennen, es aber lediglich als Alias
269 für \f(CW-c\fP handhaben. Diese Implementierungen funktionieren mit 270 für \f(CW-c\fP hand\%haben. Diese Implementierungen funktionieren mit
270 Single-Byte-Encodings (z.B. US-ASCII, Latin1) korrekt, bei 271 Single-Byte-Encodings (z.B. US-ASCII, Latin1) korrekt, bei
271 Multibyte-Encodings (z.B. UTF-8) verhält sich ihr \f(CW-c\fP aber 272 Multibyte-Encodings (z.B. UTF-8) verhält sich ihr \f(CW-c\fP aber
272 wie \f(CW-b\fP (und \f(CW-n\fP wird ignoriert). Schließlich gibt es noch 273 wie \f(CW-b\fP (und \f(CW-n\fP wird ignoriert). Schließlich gibt es noch
273 Implementierungen, die \f(CW-b\fP und \f(CW-c\fP tatsächlich POSIX-konform 274 Implementierungen, die \f(CW-b\fP und \f(CW-c\fP tatsächlich POSIX-konform
274 implementieren. 275 implementieren.
351 .LP 352 .LP
352 Bei einer Pseudo-POSIX-Implementierung ist die Ausgabe in 353 Bei einer Pseudo-POSIX-Implementierung ist die Ausgabe in
353 allen drei Fällen wie die mittlere: Es wird das erste Byte 354 allen drei Fällen wie die mittlere: Es wird das erste Byte
354 ausgegeben. 355 ausgegeben.
355 356
357 .pl +1
356 .SH 358 .SH
357 Implementierungen 359 Implementierungen
358 .LP 360 .LP
359 Nun ein Blick auf den Code. Betrachtet wird eine Auswahl an 361 Nun ein Blick auf den Code. Betrachtet wird eine Auswahl an
360 Implementierungen. 362 Implementierungen.