rbfind 2.5 → 2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/rbfind +28 -13
- data/lib/rbfind.rb +10 -8
- data/lib/rbfind/humansiz.rb +16 -5
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0a448408396d2339b4aa0656dfeb579c6533373623ca9e6cb0e4b48812e2b03
|
4
|
+
data.tar.gz: d71f32510fdc92315c7f5aaa16d08560d6bc6b1d9515af85913f3c4a4f42e6ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bab39e437deaa7cf9d4e283f83c5ee354c3f28b4ed7159b90adfdcc7210c2dfce80593cfadcceb3c0702c4641c93b66b4fd2e4351deccd62adb9267754aaf588
|
7
|
+
data.tar.gz: 44adde8bccbb1f840187bb9973a7e835d098f05c715fa22cf493a06fa8c00bc5bdbdb7e0d5da77db925034f3315f16148fd7431ed8b745febaeaadda0d5fd560
|
data/bin/rbfind
CHANGED
@@ -33,13 +33,17 @@ module RbFind
|
|
33
33
|
[ %w(--depth -d), nil, "yield directory after its contents"],
|
34
34
|
[ %w(--maxdepth -m), :num, "maxium step depth"],
|
35
35
|
[ %w(--follow -y), nil, "follow symbolic links"],
|
36
|
-
[ %w(--nosort -
|
36
|
+
[ %w(--nosort -U), nil, "unsorted"],
|
37
37
|
[ %w(--sort-by -s), :str, "sort expression"],
|
38
38
|
[ %w(--reverse -R), nil, "reverse the sort"],
|
39
|
+
[ %w(--time -t), nil, "sort by time, newest first"],
|
40
|
+
[ %w(--size -S), nil, "sort by size, largest first"],
|
41
|
+
[ %w(--dirs -F), nil, "sort directories before files"],
|
39
42
|
[ %w(--require -r), :rb, "require library"],
|
40
43
|
[ %w(--puts-path -p), nil, "do 'puts path/cpath' on true block"],
|
41
44
|
[ %w(--ls-l -P), nil, "do 'ls -l' style output on true block"],
|
42
|
-
[ %w(--
|
45
|
+
[ %w(--long -Q), nil, "alternate long format on true block"],
|
46
|
+
[ %w(--wider -+), nil, "widen fields in long output format"],
|
43
47
|
[ %w(--slash -/), nil, "append a slash to directory names"],
|
44
48
|
[ %w(--lines -l), :blk, "surround block by 'lines { |$_,$.| ... }'"],
|
45
49
|
[ %w(--reallines -L), :blk, "same as -l but stop at any null character"],
|
@@ -52,6 +56,7 @@ module RbFind
|
|
52
56
|
[ %w(--demand -D), :rgx, "skip all filenames but these"],
|
53
57
|
[ %w(--ext -e), :lst, "skip all filename extensions but these"],
|
54
58
|
[ %w(--visible -I), nil, "skip all hidden (starting with .dot)"],
|
59
|
+
[ %w(--all -a), nil, "all, including hidden (starting with .dot)"],
|
55
60
|
[ %w(--nodirs -N), nil, "skip directories"],
|
56
61
|
[ %w(--begin -B), :blk, "eval block before begin"],
|
57
62
|
[ %w(--end -E), :blk, "eval block after end"],
|
@@ -81,12 +86,16 @@ module RbFind
|
|
81
86
|
when '--maxdepth' then @params[ :max_depth] = arg.to_i
|
82
87
|
when '--follow' then @params[ :follow] = true
|
83
88
|
when '--nosort' then @params[ :sort] = false
|
84
|
-
when '--sort-by' then @params[ :sort] = instance_eval "proc {
|
89
|
+
when '--sort-by' then @params[ :sort] = instance_eval "proc { #{arg} }"
|
90
|
+
when '--time' then @params[ :sort] = proc { mtime } ; @params[ :reverse] = true
|
91
|
+
when '--size' then @params[ :sort] = proc { size } ; @params[ :reverse] = true
|
92
|
+
when '--dirs' then @params[ :dirs] = true
|
85
93
|
when '--reverse' then @params[ :reverse] = true
|
86
94
|
when '--require' then require arg
|
87
95
|
when '--puts-path' then @puts = true
|
88
|
-
when '--ls-l' then @puts =
|
89
|
-
when '--
|
96
|
+
when '--ls-l' then @puts = :ls ; @wds = 6 ; @wd = 6
|
97
|
+
when '--long' then @puts = :alt ; @wds = 7 ; @wd = 4
|
98
|
+
when '--wider' then @wd and @wd += 2.succ ; @wds and @wds += @puts == :alt ? 4 : 3
|
90
99
|
when '--slash' then @slash = true
|
91
100
|
when '--lines' then @lines = :plain ; @block = arg
|
92
101
|
when '--reallines' then @lines = :plain ; @real = true ; @block = arg
|
@@ -99,6 +108,7 @@ module RbFind
|
|
99
108
|
when '--demand' then @demand = arg
|
100
109
|
when '--ext' then @ext = arg
|
101
110
|
when '--visible' then @visible = true
|
111
|
+
when '--all' then @visible = false
|
102
112
|
when '--nodirs' then @nodirs = true
|
103
113
|
when '--begin' then @blkbegin = arg
|
104
114
|
when '--end' then @blkend = arg
|
@@ -150,11 +160,15 @@ module RbFind
|
|
150
160
|
end
|
151
161
|
if @puts then
|
152
162
|
@block = "( #@block ) and "
|
153
|
-
@block <<
|
154
|
-
|
155
|
-
"
|
156
|
-
|
157
|
-
|
163
|
+
@block << case @puts
|
164
|
+
when :alt then
|
165
|
+
"spcsep stype+modes, user!.w#@wd, group!.w#@wd, size.w_#@wds, " +
|
166
|
+
"mtime.long, #{opath} + #{co ? 'carrow' : 'arrow'}.to_s"
|
167
|
+
when :ls then
|
168
|
+
"spcsep stype+modes, user.w#@wd, group.w#@wd, size.w#@wds, " +
|
169
|
+
"mtime.lsish, #{opath} + #{co ? 'carrow' : 'arrow'}.to_s"
|
170
|
+
else
|
171
|
+
"puts #{opath}"
|
158
172
|
end
|
159
173
|
end
|
160
174
|
|
@@ -246,7 +260,7 @@ module RbFind
|
|
246
260
|
$ rbfind -d -m3 -- /mnt/data
|
247
261
|
$ rbfind 'filesize > 10.MiB and colsep size.to_hib, path'
|
248
262
|
|
249
|
-
$ rbfind -
|
263
|
+
$ rbfind -U "name =~ /^\.*/ ; $'.downcase"
|
250
264
|
$ rbfind -B '$s=0' -E 'puts $s.to_h' 'filesize {|s|$s+=s}'
|
251
265
|
$ rbfind 'puts path if ext == ".rb"'
|
252
266
|
$ rbfind -p 'ext == ".rb"'
|
@@ -447,8 +461,9 @@ class Integer
|
|
447
461
|
# convenient formatting, right justification
|
448
462
|
def method_missing sym, *args
|
449
463
|
case sym.to_s # .to_s for Ruby 1.8
|
450
|
-
when /\
|
451
|
-
|
464
|
+
when /\Aw(\d+)/ then "%#{$1}d" % self
|
465
|
+
when /\Aw_(\d+)/ then to_g.rjust $1.to_i
|
466
|
+
else super
|
452
467
|
end
|
453
468
|
end
|
454
469
|
end
|
data/lib/rbfind.rb
CHANGED
@@ -8,7 +8,7 @@ require "rbfind/csv"
|
|
8
8
|
|
9
9
|
module RbFind
|
10
10
|
|
11
|
-
VERSION = "2.
|
11
|
+
VERSION = "2.6".freeze
|
12
12
|
|
13
13
|
=begin rdoc
|
14
14
|
|
@@ -271,13 +271,15 @@ Sort without case sensitivity and preceding dot:
|
|
271
271
|
private
|
272
272
|
|
273
273
|
Params = Struct.new :max_depth, :depth_first, :follow,
|
274
|
-
:sort, :reverse, :error, :block
|
274
|
+
:sort, :dirs, :reverse, :error, :block
|
275
275
|
|
276
276
|
def initialize max_depth: nil, depth_first: nil, follow: nil,
|
277
|
-
sort: true, reverse: false, error: nil, &block
|
277
|
+
sort: true, dirs: false, reverse: false, error: nil, &block
|
278
278
|
@params = Params.new max_depth, depth_first, follow,
|
279
|
-
(sort_parser sort), reverse, error, block
|
280
|
-
@start
|
279
|
+
(sort_parser sort), dirs, reverse, error, block
|
280
|
+
@start = Time.instance_eval { @start = Time.now }
|
281
|
+
Time.instance_eval { @start = Time.now }
|
282
|
+
@count, @depth = 0, 0
|
281
283
|
end
|
282
284
|
|
283
285
|
def sort_parser st
|
@@ -323,10 +325,10 @@ Sort without case sensitivity and preceding dot:
|
|
323
325
|
|
324
326
|
def visit_dir dir
|
325
327
|
return if @params.max_depth and @params.max_depth == @depth
|
326
|
-
list = (Dir.new dir).children
|
327
|
-
list = list.map { |f| Entry.new f, self }
|
328
|
+
list = (Dir.new dir).children.map { |f| Entry.new f, self }
|
328
329
|
@params.sort.call list
|
329
|
-
|
330
|
+
@params.reverse and list.reverse!
|
331
|
+
@params.dirs and list = list.partition { |e| e.rstat.directory? }.flatten
|
330
332
|
begin
|
331
333
|
@depth += 1
|
332
334
|
list.each { |e| enter e }
|
data/lib/rbfind/humansiz.rb
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
=begin rdoc
|
7
7
|
|
8
|
-
Human readable sizes
|
8
|
+
Human readable sizes and times.
|
9
9
|
|
10
10
|
Examples:
|
11
11
|
|
@@ -136,12 +136,23 @@ class Time
|
|
136
136
|
# file.stat.mtime.lsish #=> " 1. Apr 2008 "
|
137
137
|
#
|
138
138
|
def lsish
|
139
|
-
strftime "
|
140
|
-
(year == Time.now.year ? "%H:%M:%S" : "%Y ")
|
139
|
+
strftime "%e. %b " + (year == Time.start.year ? "%H:%M:%S" : "%Y ")
|
141
140
|
end
|
142
141
|
|
143
|
-
|
144
|
-
|
142
|
+
def long
|
143
|
+
s = Time.start
|
144
|
+
if year == s.year && month == s.month && day == s.day then
|
145
|
+
strftime "==%H:%M:%S"
|
146
|
+
else
|
147
|
+
strftime "%Y-%m-%d"
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
151
|
+
class <<self
|
152
|
+
def start
|
153
|
+
@start ||= Time.now
|
154
|
+
end
|
155
|
+
end
|
145
156
|
|
146
157
|
end
|
147
158
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbfind
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '2.
|
4
|
+
version: '2.6'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bertram Scharpf
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-03-04 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: |
|
14
14
|
A replacement for the standard UNIX command find.
|