mfd 0.1.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b6040f469b1c27ab7e6bc9c1f17f926c56f7542260701dfc817d5f334e963939
4
- data.tar.gz: d44e8606e7464dab230481de6f47298e8a05f5a3d7b5f838d61bc50ccfc84c9d
3
+ metadata.gz: 8965ee1090d0d44e11e41a7ff131010878ec484968eba9ca432489ffba3e5efe
4
+ data.tar.gz: c17bedc8637b53817675c0d66596bbbe67560eb8ec7aa6f5db054fe8a4ac5851
5
5
  SHA512:
6
- metadata.gz: 566377f81665afc7d9e62f352c701a8854498232a928d68f2adaac9e3759ec661f4a7833c89645282654289f87d8df961a5e66e3ec87313b6e3176ef794aed37
7
- data.tar.gz: 3bc33274dcc9c3ebc92455c23bb5c79c46c22e0c69d5bda4f67636789f7456291c2d444ffa779a53f756919d646c9ca2d333dccc2e3d9b33139a66a697b32de1
6
+ metadata.gz: 41ab4396391573e3f6e4d322f80a66ea85232fca850671c096fa364a7d4863b0ef844c6442775b33ca7cfc652d92f59d1eed8c912fd156792b58fd4361d39f69
7
+ data.tar.gz: 5d69482c8bd7cabda89bc24551b2f1318a9b359b9115a7d62dc67925082ecd246ff7355682074b86b2c70c20f76d934ef9d0b2cc31f1985b58c15d13dd2b3630
data/Gemfile.lock CHANGED
@@ -1,45 +1,45 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mfd (0.1.0)
4
+ mfd (0.2.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- byebug (11.0.1)
10
- coderay (1.1.2)
11
- diff-lcs (1.3)
12
- method_source (0.9.2)
13
- pry (0.12.2)
14
- coderay (~> 1.1.0)
15
- method_source (~> 0.9.0)
16
- pry-byebug (3.7.0)
9
+ byebug (11.1.3)
10
+ coderay (1.1.3)
11
+ diff-lcs (1.5.0)
12
+ method_source (1.0.0)
13
+ pry (0.14.2)
14
+ coderay (~> 1.1)
15
+ method_source (~> 1.0)
16
+ pry-byebug (3.10.1)
17
17
  byebug (~> 11.0)
18
- pry (~> 0.10)
19
- rake (10.5.0)
20
- rspec (3.8.0)
21
- rspec-core (~> 3.8.0)
22
- rspec-expectations (~> 3.8.0)
23
- rspec-mocks (~> 3.8.0)
24
- rspec-core (3.8.0)
25
- rspec-support (~> 3.8.0)
26
- rspec-expectations (3.8.3)
18
+ pry (>= 0.13, < 0.15)
19
+ rake (13.0.6)
20
+ rspec (3.12.0)
21
+ rspec-core (~> 3.12.0)
22
+ rspec-expectations (~> 3.12.0)
23
+ rspec-mocks (~> 3.12.0)
24
+ rspec-core (3.12.1)
25
+ rspec-support (~> 3.12.0)
26
+ rspec-expectations (3.12.2)
27
27
  diff-lcs (>= 1.2.0, < 2.0)
28
- rspec-support (~> 3.8.0)
29
- rspec-mocks (3.8.0)
28
+ rspec-support (~> 3.12.0)
29
+ rspec-mocks (3.12.5)
30
30
  diff-lcs (>= 1.2.0, < 2.0)
31
- rspec-support (~> 3.8.0)
32
- rspec-support (3.8.0)
31
+ rspec-support (~> 3.12.0)
32
+ rspec-support (3.12.0)
33
33
 
34
34
  PLATFORMS
35
35
  ruby
36
36
 
37
37
  DEPENDENCIES
38
- bundler (~> 1.17)
38
+ bundler (>= 1.17)
39
39
  mfd!
40
40
  pry-byebug (>= 3.6.0)
41
- rake (~> 10.0)
42
- rspec (~> 3.0)
41
+ rake (>= 10.0)
42
+ rspec (>= 3.0)
43
43
 
44
44
  BUNDLED WITH
45
- 1.17.2
45
+ 2.4.12
data/README.md CHANGED
@@ -1,29 +1,125 @@
1
1
  # Mfd
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/mfd`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ mdfind4 - a better mdfind built upon mdfind3
4
4
 
5
- TODO: Delete this and the text above, and describe your gem
5
+ Spotlight OS X 上非常好用的一个桌面搜索工具,mdfind 是Spotlight CLI frontend,
6
+ 虽然 mdfind 的功能足够强大,但是界面非常不友好,例如,要搜索电脑中2013年的文件大小大于 1MB
7
+ 的jpg图像文件,需要一个非常复杂的命令。mdfind4 对mdfind进行封装,提供比较易用的界面
6
8
 
7
9
  ## Installation
8
10
 
9
- Add this line to your application's Gemfile:
10
-
11
- ```ruby
12
- gem 'mfd'
13
- ```
14
-
15
- And then execute:
16
-
17
- $ bundle
18
-
19
- Or install it yourself as:
11
+ Install it yourself as:
20
12
 
21
13
  $ gem install mfd
14
+
15
+ Or:
22
16
 
23
- ## Usage
17
+ $ sudo gem install mfd
24
18
 
25
- TODO: Write usage instructions here
19
+ ## Usage
26
20
 
21
+ ```
22
+ usage: mfd [options] [search dir]
23
+
24
+ 通过指定若干选项来搜索文件系统中被 Spotlight 索引的文件,每个选项之间是逻辑与的关系. 默认将
25
+ 搜索文件系统中所有的被索引文件,可以通过最后一个参数来约束其只在某个目录中进行搜索.
26
+
27
+ % mdfind4 --content-type com.omnigroup.omnigraffle.graffle --from 2011/11/1 -t '2013-01-01 14:30:24'
28
+ % mdfind4 --query '关键字' --content-type 'com.adobe.pdf'
29
+ % mdfind4 -e mp3 -b10M
30
+
31
+ options:
32
+
33
+ 以下选项均支持以一个 "@" 符号开头, 后跟一个文件名,表示此选项的值将从给定的文件中提取:
34
+
35
+ • -f, --from
36
+ • -t, --to
37
+ • -F, --from-create
38
+ • -T, --to-create
39
+ • -c, --content-type
40
+ • -k, --kind
41
+ • -b, --biggerthan
42
+ • -s, --smallerthan
43
+
44
+
45
+
46
+ -f, --from from e.g. --from 2010/1/1
47
+ 搜索"文件最后修改时间"等于或晚于指定时间的文件,时间格式为"YYYY-mm-dd HH:MM:SS"
48
+ 其中可以使用任意非数字字符作为分隔符,也可以只指定日期部分。
49
+ 另外, -f 选项还支持指定一个数字后跟一个字母的形式来指定时间,
50
+ 支持的字符包括: S, M, H, d, m, Y,分别表示: 秒, 分, 时,
51
+ 天, 月, 年, 其中一个月等于 30 天, 一年等于 365 天.
52
+ 例如, 搜索最近 10 天的文件: -f 10d
53
+
54
+ -t, --to to 搜索"文件最后修改时间"等于或早于指定时间的文件, 格式同"-f"选项
55
+
56
+ -F, --from-create from 搜索"文件创建时间"等于或晚于指定时间的文件, 格式同"-f"选项
57
+
58
+ -T, --to-create to 搜索"文件创建时间"等于或早于指定时间的文件, 格式同"-f"选项
59
+
60
+ -q, --query query e.g. --query "关键字"
61
+
62
+ -c, --content-type contenttype e.g. --contenttype com.omnigroup.omnigraffle.graffle
63
+ 搜索 "kMDItemContentType" 属性等于指定值的文件,可以不
64
+ 指定完整的 Content Type,例如 Ruby 脚本的 Content Type
65
+ 为 "public.ruby-script",但是可以使用下面的命令所有所有
66
+ Ruby 脚本文件:mdfind4 -c ruby
67
+
68
+ -e, --type file-ext-name .e.g -e 'mp3'
69
+ 搜索文件扩展名等于指定值的文件
70
+
71
+ -k, --kind kind e.g. --kind "HTML Document"
72
+ "-k"选项是另外一个用来指定文件类型的选项,它使用
73
+ "kMDItemKind"属性来搜索文件. 例如, 搜索邮件: "-k 邮件信息"
74
+ 搜索 Safari 历史记录: "-k 'Safari 历史记录项目'"
75
+
76
+ -b, --bigger-than size e.g. --bigger-than 100000
77
+ 搜索文件大小大于或等于给定值的文件,可以使用 t, g, m, k 等单位,
78
+ 例如, 搜索大于或等于 1MB 字节的文件:"-b 1m"
79
+
80
+ -s, --smaller-than size e.g. --smaller-than 100000
81
+ 搜索文件大小小于或等于给定值的文件,可以使用 t, g, m, k 等单位,
82
+ 例如, 搜索小于或等于 1GB 字节的文件:"-b 1G"
83
+
84
+ --prop-eq arg_value
85
+ e.g. --prop-eq FSSize@diary.txt
86
+ 不同类型的文件各自都有多种多样的属性,本程序支持的属性比较有限, 若需要
87
+ 按照其他属性比较,则使用本选项以及下面三个以 "--prop"
88
+ 打头的选项。可以通过 OS X 自带的 "mdls" 命令来查看文件的各种属性,
89
+ 属性名称一般以 "kMDItem" 打头,使用这四个选项时可以只指定 "kMDItem"
90
+ 后面的部分, 本选项的值的格式为 "property@filename", 例如,
91
+ 搜索文件大小等于 a.txt 的所有文件:--prop-eq FSSize@./a.txt
92
+
93
+ --prop-ne arg_value
94
+ e.g. --prop-ne FSSize@diary.txt
95
+
96
+ --prop-le arg_value
97
+ e.g. --prop-le FSSize@diary.txt
98
+
99
+ --prop-ge arg_value
100
+ e.g. --prop-ge FSSize@diary.txt
101
+
102
+ -d, --downloadfrom url 搜索从URL下载的文件
103
+ -n, --name name 按文件名称搜索, 自动支持模糊匹配, 无需指定通配符
104
+ -0, --null Prints an ASCII NUL character after each result path.
105
+ This is useful when used in conjunction with
106
+ xargs -0.
107
+ --live
108
+ Causes the mdfind command to provide live-updates to the
109
+ number of files matching the query. When an
110
+ update causes the query results to change the
111
+ number of matches is updated. The find can
112
+ be cancelled by typing ctrl-C.
113
+
114
+ --count
115
+ Causes the mdfind command to output the total number of
116
+ matches, instead of the path to the matching
117
+ items.
118
+
119
+ --debug
120
+ mdfind4 通过调用 OS X 系统自带的 mdfind 命令来完成文件搜索,指定
121
+
122
+ ```
27
123
  ## Development
28
124
 
29
125
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.