comparison cut.txt @ 13:bf5e41260f89

Zwischenstand
author markus schnalke <meillo@marmaro.de>
date Mon, 11 May 2015 17:53:00 +0200
parents 9f17c512fb5c
children 77d1f55bba08
comparison
equal deleted inserted replaced
12:9f17c512fb5c 13:bf5e41260f89
109 Awk bietet noch eine weitere Funktion, die cut missen 109 Awk bietet noch eine weitere Funktion, die cut missen
110 laesst: Das Tauschen der Feld-Reihenfolge in der Ausgabe. Bei 110 laesst: Das Tauschen der Feld-Reihenfolge in der Ausgabe. Bei
111 cut ist die Reihenfolge der Feldauswahlangabe irrelevant; ein 111 cut ist die Reihenfolge der Feldauswahlangabe irrelevant; ein
112 Feld kann selbst mehrfach angegeben werden. 112 Feld kann selbst mehrfach angegeben werden.
113 113
114 XXX 4.3BSD-Reno + *BSDs 114 XXX
115 4.3BSD-Reno + *BSDs
115 * This parser is less restrictive than the Draft 9 POSIX spec. 116 * This parser is less restrictive than the Draft 9 POSIX spec.
116 * POSIX doesn't allow lists that aren't in increasing order or 117 * POSIX doesn't allow lists that aren't in increasing order or
117 * overlapping lists. We also handle "-3-5" although there's no 118 * overlapping lists. We also handle "-3-5" although there's no
118 * real reason too. 119 * real reason too.
119 120
178 wurde folglich anhand von Arbeitsversionen des Standards 179 wurde folglich anhand von Arbeitsversionen des Standards
179 implementiert. Zweieinhalb Jahre Arbeit war immerhin schon in 180 implementiert. Zweieinhalb Jahre Arbeit war immerhin schon in
180 den Standardisierungsprozess geflossen; bis zur 181 den Standardisierungsprozess geflossen; bis zur
181 Fertigstellung sollte es aber noch weitere zwei Jahre dauern. 182 Fertigstellung sollte es aber noch weitere zwei Jahre dauern.
182 183
184 XXX
183 Schaut man sich die SCCS-IDs (die vom damaligen 185 Schaut man sich die SCCS-IDs (die vom damaligen
184 Versionskontrollsystem eingefuegt wurden) in den BSD-Quellen an, 186 Versionskontrollsystem eingefuegt wurden) in den BSD-Quellen an,
185 dann findet man dort Versionsnummern, die die Entstehung 187 dann findet man dort Versionsnummern, die die Entstehung
186 dokumentieren: 188 dokumentieren:
187 189
379 381
380 382
381 Die interne Struktur des C-Codes ist meist aehnlich. Neben der 383 Die interne Struktur des C-Codes ist meist aehnlich. Neben der
382 obligatorischen main-Funktion, die die Kommandozeilenargumente 384 obligatorischen main-Funktion, die die Kommandozeilenargumente
383 verarbeitet, gibt es im Normalfall eine Funktion, die die 385 verarbeitet, gibt es im Normalfall eine Funktion, die die
384 Feldauswahl in eine interne Datenstruktur ueberfuehrt, desweiteren 386 Feldauswahl in eine interne Datenstruktur ueberfuehrt. Desweiteren
385 haben fast alle Implementierungen separate Funktionen fuer die 387 haben fast alle Implementierungen separate Funktionen fuer die
386 zwei bzw. drei Modi. Bei den POSIX-konformen Implementierungen 388 zwei bzw. drei Modi. Bei den POSIX-konformen Implementierungen
387 wird die `-b -n'-Kombination als weiterer Modus behandelt, und 389 wird die `-b -n'-Kombination als weiterer Modus behandelt, und
388 damit in einer eigenen Funktion umgesetzt. Nur bei der fruehen 390 damit in einer eigenen Funktion umgesetzt. Nur bei der fruehen
389 System III-Implementierung (und seiner 4.3BSD-UWisc-Variante) 391 System III-Implementierung (und seiner 4.3BSD-UWisc-Variante)
390 wird nichts aus der main-Funktion ausgelagert, ausser den 392 wird ausser den Fehlerausgaben nichts aus der main-Funktion
391 Fehlerausgaben. 393 ausgelagert.
392 394
395 XXX
393 Bei System III ist die Anzahl der moeglichen Felder und ebenso 396 Bei System III ist die Anzahl der moeglichen Felder und ebenso
394 die Zeilenlaenge auf 512 begrenzt. 4.3BSD-Reno und die BSDs 397 die Zeilenlaenge auf 512 begrenzt. 4.3BSD-Reno und die BSDs
395 der 90er Jahre haben ebenfalls fixe Grenzen (_BSD_LINE_MAX 398 der 90er Jahre haben ebenfalls fixe Grenzen (_BSD_LINE_MAX
396 bzw. _POSIX2_LINE_MAX). Bei modernen FreeBSDs, NetBSDs, bei 399 bzw. _POSIX2_LINE_MAX). Bei modernen FreeBSDs, NetBSDs, bei
397 allen GNU-Implementierungen und bei Heirloom kann sowohl 400 allen GNU-Implementierungen und bei Heirloom kann sowohl
398 die Felderanzahl als auch die maximale Zeilenlaenge beliebig 401 die Felderanzahl als auch die maximale Zeilenlaenge beliebig
399 gross werden; der Speicher dafür wird dynamisch alloziiert. 402 gross werden; der Speicher dafür wird dynamisch alloziiert.
400 OpenBSD ist ein Hybrid aus fixer Maximalzahl an Feldern, aber 403 OpenBSD ist ein Hybrid aus fixer Maximalzahl an Feldern, aber
401 beliebiger Zeilenlaenge (fgetln). XXX 404 beliebiger Zeilenlaenge (fgetln). XXX
402
403 405
404 406
405 Beschreibungen 407 Beschreibungen
406 408
407 Interessant ist auch ein Vergleich der Kurzbeschreibungen von 409 Interessant ist auch ein Vergleich der Kurzbeschreibungen von