1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
BEZEICHNUNG
dk-lines - Zeilen aus einem Text extrahieren
ÜBERSICHT
dk-lines [<Option(en)>] [<Datei(en)>]
BESCHREIBUNG
Das Programm extrahiert Zeilen aus einem Text. Der Text wird den angegebenen
Dateien bzw. der Standardeingabe entnommen.
Die Extraktion erfolgt in zwei Stufen, beide Stufen sind optional.
In der ersten Stufe wird jede Textzeile mit einem Starttext und/oder einem
Endtext verglichen. Liegt die Zeile lexikographisch zwischen Start- und
Endtext, wird sie an die zweite Stufe übergeben. Zeilen, die den
Bereichsgrenzen entsprechen, werden dabei mit berücksichtigt. Ist nur Start-
oder Endtext gegeben, erfolgt nur ein einfacher Vergleich anstelle des
Bereichstests.
In der zweiten Stufe werden aus den Ergebnissen der ersten Stufe Zeilen
anhand der Zeilennummern extrahiert. Dabei wird eine Zeilennummer für die
Anfangszeile und/oder die Endzeile angegeben.
Positive Zeilennummern werden vom Dateibeginn an vorwärts gezählt, die
erste Zeile hat die Zeilennummer 1. Negative Zeilennummern werden vom
Dateiende an rückwärts gezählt, die letzte Zeile hat die Zeilennummer -1.
OPTIONEN
-f <Starttext>
--from <Starttext>
gibt den Startext für Stufe 1 vor.
-t <Endtext>
--to <Endtext>
gibt den Endtext für Stufe 1 vor.
--today
gibt das aktuelle Datum in der Form JJJJ-MM-TT für Start- und
Endtext vor, falls diese nicht mit -t bzw. -f angegeben wurden.
Wurde sowohl -f als auch -t verwendet, kann --today nicht
gleichzeitig verwendet werden.
-l <Zeilenbereich>
--lines <Zeilenbereich>
gibt den Zeilenbereich für Stufe 2 vor. Folgende Formen sind möglich:
s Angabe nur der Anfangszeilennummer.
s/e Angabe von Anfangs- und Endzeilennummer.
/e Angabe nur der Endzeilennummer.
Die Anfangszeilennummer gibt die erste auszugebende Zeile an.
Die Endzeilennummer gibt die letzte auszugebende Zeile an.
Positive Zeilennummern zählen mit 1 für die erste Zeile beginnend
vorwärts. Negative Zeilennummern zählen mit -1 für die letzte
Zeile beginnend rückwärts.
Wurde Stufe 1 verwendet (Optionen -t, -f oder --today benutzt),
beziehen sich die Zeilennummern auf die Ergebnisse der Stufe 1.
-o
--one-stream
Bei Angabe mehrerer Eingabedateien werden die Ergebnisse der
ersten Stufe zusammengefasst, bevor die Auswahl über den Zeilenbereich
erfolgt.
Ohne diese Option wird jede Datei einzeln für sich betrachtet.
-i <String>
--input-encoding=<String>
Erwartetes Text-Encoding für die Eingabedaten.
Ein Byte-Order-Marker (BOM) am Beginn der Eingabe überschreibt
das Encoding.
--line-size <Zeilenpuffergröße>
legt die Größe des Zeilenpuffers fest. Voreingestellt sind
4096 Bytes.
-v
--verbose
Detailliertere Fehlerausgabe.
EXIT-STATUS
0 bei Erfolg, alle anderen Exit-Codes weisen auf Fehler hin.
BEISPIELE
Dateien ermitteln, die in einem bestimmten Zeitraum geändert wurden:
dk-ls -pmn -tf -r | dk-lines --from=2017-11-18 --to=2017-11-19
Es werden alle Zeilen ausgegeben, die mit mit Text von
"2017-11-18" bis "2017-11-19" (einschließlich) beginnen.
Dateien ermitteln, die heute geändert wurden:
dk-ls -pmn -tf -r | dk-lines --today
Die 10 zuletzt geänderten Dateien ermitteln:
dk-ls -pmn -tf -r | dk-sort | dk-lines -l -10
Die Ausgabe beginnt mit der zehntletzten Zeile.
Die 10 ältesten Dateien (hinsichtlich Änderungsdatum) ermitteln:
dk-ls -pmn -tf -r | dk-sort | dk-lines -l 1/10
Die Ausgabe beginnt mit der ersten Zeile und endet mit der
zehnten Zeile.
Inhalt der Datei "x.txt" ausgeben, dabei erste 3 und letzte 2 Zeilen weglassen:
dk-lines -l 4/-3 x.txt
Die Ausgabe beginnt mit der vierten Zeile und endet mit der
drittletzten Zeile.
EINSCHRÄNKUNGEN
Unter Windows kann eine Erweiterung von Dateinamen mit Wildcards (* oder ?)
nur für Dateinamen bis zu einer Länge von _MAX_PATH (260) erfolgen.
AUTOR
Dirk Krause
GESCHICHTE
Das Programm wurde in Version 4.10.0 hinzugefügt.
COPYRIGHT UND LIZENZBESTIMMUNGEN
Führen Sie
dk-lines --license
aus, um Lizenz-Informationen anzuzeigen.
SIEHE AUCH
http://sourceforge.net/p/dktools/wiki/Home/
|