-
Notifications
You must be signed in to change notification settings - Fork 2
/
bu.nimble
166 lines (146 loc) · 9.2 KB
/
bu.nimble
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
# Package
version = "0.17.2"
author = "Charles Blake"
description = "B)asic|But-For U)tility Code/Programs (Usually Nim & With Unix/POSIX/Linux Context)"
license = "MIT/ISC"
when defined(Windows):
bin = @[
# "catz", # Generalize `zcat` to many encodings, not merely `gzip`
# "ft", # file typer {i-node type, not file(1)/libmagic(3) type}
# "only", # file(1)/libmagic tool to emit files whose types match
# "fkindc", # file(1)/libmagic tool to histogram file types
"notIn", # Helper to manage semi-mirrored file trees
# "dfr", # d)isk fr)ee; `df` with color coding & modern defaults
# "lncs", # analyze a file tree for hard link structure
# "du", # Slight improvement on GNU du
# "rr", # Mostly a short alias for rm -rf but also faster
# "dups", # Fast finder of exact duplicate files
"fpr", # File Pages Resident reporting utility like fincore
# "cbtm", # Back up & restore new Linux b-time stamps (creation/birth)
# "dirt", # Recursively set dir time stamp to oldest of members
"fage", # file age according to various timestamps/rules
# "newest", # b-time supporting \`find -printf|sort|tail\`
# "since", # b-time supporting \`find -Xnewer\`
# "saft", # SAve&restore File Times across a command operating on them
"bu/tmath", # Convert/do arithmetic directly upon date & time formats
"mk1", # Very fast `make` for many 1-to-1 input-output mappings
"memlat", # Measure memory latency at various size scales
"fread", # Like `cat` but just read data (no writes)
# "ru", # Resource Usage measurement { high-res/nicer time(1) }
"etr", # e)stimate t)ime r)emaining using subcommands for %done
"bu/eve", # Extreme Value Estimator (*true* max|min of infinite sample)
"tim", # Uncertain time comparison via repeated sampling & `eve`
"edplot", # Generate EDF & its confidence bands files & plot scripts
"keydowns", # Assess string complexity in terms of a human cost
"align", # Align text with better ergonomics than BSD `column`
"flow", # Flow text lines into as many columns as fit with aligned output
"tails", # Generalizes head & tail into one with all-but compliments
"cols", # Extract just some columns from a text file/stream
"rp", # A row processor program-generator maybe replacement for AWK
"crp", # C row processor program-generator port of `rp`
"bu/colSort", # Sort *within* the columns of rows
"cstats", # Preserve Context/Compute Column stats filter
"noc", # stdin-out filter to strip ANSI CSI/OSC/SGR color escape seqs
"tw", # terminal-width clip/cropper with m-row bounding capability
"cfold", # Context folding (like csplit but to wrap lines)
"unfold", # Oft neglected inverse-to-wrapping/folding process
"ww", # Dynamic programming based word wrapper
"widths", # Compute & emit line widths/lengths | distro
# "jointr", # Join strace "unfinished ..." with conclusion
"ndelta", # Numerical difference between two reports utility
"tmpls", # A fast string template interpolater
"topn", # Fast streaming 1-pass top-N over M columns
"oft", # Approximately most often items via a low-memory algorithm
"uce", # Unique/distinct Count Estimate via a low-memory algorithm
# "holes", # Show maps of data & in-FS-allocation holes
# "fsids", # file system user & group id histogram
# "chom", # Enforce group owner & segregated perms in file trees
# "thermctl", # Thermal Control for before CPU makers thermally throttled
# "pid2", # Wrap Linux process PID table to first past target
# "sr", # System Request Key; Rapidly act on Linux systems
"tattr", # Terminal attribute access (like cligen/humanUt)
# "wsz", # Report terminal size in cells, pixels, and cell size
"noa", # "--"-aware Python-like indexing of non-option arguments
"okpaths", # Validate/trim PATH-like vars by probing the system
"nrel", # Edit .nimble version, commit, tag, push & maybe release
"dirq", # Kind of its own system-building atom thing
# "funnel", # A reliable, record boundary respecting "FIFO funnel"
# "stripe", # Run jobs in parallel w/slot key vars/seqNos/shell elision
"bu/rs", # Reservoir Subset/Sampler Of Lines In A File/[T] library
"wgt", # Weighted random sampler with fancy weighting
"bu/zipf", # Random samples according to Zipf distribution
"niom", # nio moments w/hard dep on adix efficient histogram/quantiles
"ac", # aped commands with aping rules stored in local file tree
]
else:
bin = @[
"catz", # Generalize `zcat` to many encodings, not merely `gzip`
"ft", # file typer {i-node type, not file(1)/libmagic(3) type}
"only", # file(1)/libmagic tool to emit files whose types match
"fkindc", # file(1)/libmagic tool to histogram file types
"notIn", # Helper to manage semi-mirrored file trees
"dfr", # d)isk fr)ee; `df` with color coding & modern defaults
"lncs", # analyze a file tree for hard link structure
"du", # Slight improvement on GNU du
"rr", # Mostly a short alias for rm -rf but also faster
"dups", # Fast finder of exact duplicate files
"fpr", # File Pages Resident reporting utility like fincore
"cbtm", # Back up & restore new Linux b-time stamps (creation/birth)
"dirt", # Recursively set dir time stamp to oldest of members
"fage", # file age according to various timestamps/rules
"newest", # b-time supporting \`find -printf|sort|tail\`
"since", # b-time supporting \`find -Xnewer\`
"saft", # SAve&restore File Times across a command operating on them
"bu/tmath", # Convert/do arithmetic directly upon date & time formats
"mk1", # Very fast `make` for many 1-to-1 input-output mappings
"memlat", # Measure memory latency at various size scales
"fread", # Like `cat` but just read data (no writes)
"ru", # Resource Usage measurement { high-res/nicer time(1) }
"etr", # e)stimate t)ime r)emaining using subcommands for %done
"bu/eve", # Extreme Value Estimator (*true* max|min of infinite sample)
"tim", # Uncertain time comparison via repeated sampling & `eve`
"edplot", # Generate EDF & its confidence bands files & plot scripts
"keydowns", # Assess string complexity in terms of a human cost
"align", # Align text with better ergonomics than BSD `column`
"flow", # Flow text lines into as many columns as fit with aligned output
"tails", # Generalizes head & tail into one with all-but compliments
"cols", # Extract just some columns from a text file/stream
"rp", # A row processor program-generator maybe replacement for AWK
"crp", # C row processor program-generator port of `rp`
"bu/colSort", # Sort *within* the columns of rows
"cstats", # Preserve Context/Compute Column stats filter
"noc", # stdin-out filter to strip ANSI CSI/OSC/SGR color escape seqs
"tw", # terminal-width clip/cropper with m-row bounding capability
"cfold", # Context folding (like csplit but to wrap lines)
"unfold", # Oft neglected inverse-to-wrapping/folding process
"ww", # Dynamic programming based word wrapper
"widths", # Compute & emit line widths/lengths | distro
"jointr", # Join strace "unfinished ..." with conclusion
"ndelta", # Numerical difference between two reports utility
"tmpls", # A fast string template interpolater
"topn", # Fast streaming 1-pass top-N over M columns
"oft", # Approximately most often items via a low-memory algorithm
"uce", # Unique/distinct Count Estimate via a low-memory algorithm
"holes", # Show maps of data & in-FS-allocation holes
"fsids", # file system user & group id histogram
"chom", # Enforce group owner & segregated perms in file trees
"thermctl", # Thermal Control for before CPU makers thermally throttled
"pid2", # Wrap Linux process PID table to first past target
"sr", # System Request Key; Rapidly act on Linux systems
"tattr", # Terminal attribute access (like cligen/humanUt)
"wsz", # Report terminal size in cells, pixels, and cell size
"noa", # "--"-aware Python-like indexing of non-option arguments
"okpaths", # Validate/trim PATH-like vars by probing the system
"nrel", # Edit .nimble version, commit, tag, push & maybe release
"dirq", # Kind of its own system-building atom thing
"funnel", # A reliable, record boundary respecting "FIFO funnel"
"stripe", # Run jobs in parallel w/slot key vars/seqNos/shell elision
"bu/rs", # Reservoir Subset/Sampler Of Lines In A File/[T] library
"wgt", # Weighted random sampler with fancy weighting
"bu/zipf", # Random samples according to Zipf distribution
"niom", # nio moments w/hard dep on adix efficient histogram/quantiles
"ac", # aped commands with aping rules stored in local file tree
]
# Dependencies
requires "nim >= 2.0.0", "cligen >= 1.7.8",
"adix >= 0.6.3", "nio >= 0.7.5", "fitl >= 0.6.1", "spfun >= 0.7.3"