/
dfind.1
278 lines (278 loc) · 4.72 KB
/
dfind.1
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
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
.\" Man page generated from reStructuredText.
.
.TH "DFIND" "1" "Jan 27, 2020" "0.10" "mpiFileUtils"
.SH NAME
dfind \- distributed file filtering
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.SH SYNOPSIS
.sp
\fBdfind [OPTION] [EXPRESSION] PATH …\fP
.SH DESCRIPTION
.sp
Parallel MPI application to filter a list of files according to an expression.
.sp
dfind provides functionality similar to \fBfind(1)\fP\&.
.sp
The file list can be obtained by either walking one or more paths provided on the command line or through an input list.
.sp
The filtered list can be written to an output file.
.SH OPTIONS
.INDENT 0.0
.TP
.B \-i, \-\-input FILE
Read source list from FILE. FILE must be generated by another tool
from the mpiFileUtils suite.
.UNINDENT
.INDENT 0.0
.TP
.B \-o, \-\-output FILE
Write the processed list to a file.
.UNINDENT
.INDENT 0.0
.TP
.B \-v, \-\-verbose
Run in verbose mode.
.UNINDENT
.INDENT 0.0
.TP
.B \-q, \-\-quiet
Run tool silently. No output is printed.
.UNINDENT
.INDENT 0.0
.TP
.B \-h, \-\-help
Print a brief message listing the \fBdfind(1)\fP options and usage.
.UNINDENT
.SH EXPRESSIONS
.sp
Numeric arguments can be specified as:
.INDENT 0.0
.INDENT 3.5
.TS
center;
|l|l|.
_
T{
+N
T} T{
more than N
T}
_
T{
\-N
T} T{
less than N
T}
_
T{
N
T} T{
exactly N
T}
_
.TE
.UNINDENT
.UNINDENT
.INDENT 0.0
.TP
.B \-\-amin N
File was last accessed N minutes ago.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-anewer FILE
File was last accessed more recently than FILE was modified.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-atime N
File was last accessed N days ago.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-cmin N
File’s status was last changed N minutes ago.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-cnewer FILE
File’s status was last changed more recently than FILE was modified.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-ctime N
File’s status was last changed N days ago.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-mmin N
File’s data was last modified N minutes ago.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-newer FILE
File was modified more recently than FILE.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-mtime N
File’s data was last modified N days ago.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-gid N
File’s numeric group ID is N.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-group NAME
File belongs to group NAME.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-uid N
File’s numeric user ID is N.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-user NAME
File is owned by user NAME.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-name PATTERN
Base of file name matches shell pattern PATTERN.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-path PATTERN
Full path to file matches shell pattern PATTERN.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-regex REGEX
Full path to file matches POSIX regular expression REGEX. Regular expressions processed by \fBregexec(3)\fP\&.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-size N
File size is N bytes. Units can be used like ‘KB’, ‘MB’, ‘GB’.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-type C
File is of type C:
.TS
center;
|l|l|.
_
T{
b
T} T{
block device
T}
_
T{
c
T} T{
char device
T}
_
T{
d
T} T{
directory
T}
_
T{
f
T} T{
regular file
T}
_
T{
l
T} T{
symbolic link
T}
_
T{
p
T} T{
pipe
T}
_
T{
s
T} T{
socket
T}
_
.TE
.UNINDENT
.SH ACTIONS
.INDENT 0.0
.TP
.B \-\-print
Print file name to stdout.
.UNINDENT
.INDENT 0.0
.TP
.B \-\-exec CMD ;
Execute command CMD on file. All following arguments are taken as arguments to the command until ‘;’ is encountered. The string ‘{}’ is replaced by the current file name.
.UNINDENT
.SH EXAMPLES
.INDENT 0.0
.IP 1. 3
Print all files owner by user1 under given path:
.UNINDENT
.sp
\fBmpirun \-np 128 dfind \-v \-\-user user1 \-\-print /path/to/target\fP
.INDENT 0.0
.IP 2. 3
To find all files less than 1GB and write them to a file:
.UNINDENT
.sp
\fBmpirun \-np 128 dfind \-v \-o outfile \-\-size \-1GB /path/to/target\fP
.INDENT 0.0
.IP 3. 3
Filter list in infile to find all regular files not changed in the past 180 days and write new list to outfile:
.UNINDENT
.sp
\fBmpirun \-np 128 dfind \-v \-i infile \-o outfile \-\-type f \-\-mtime +180\fP
.SH SEE ALSO
.sp
The mpiFileUtils source code and all documentation may be downloaded
from <\fI\%https://github.com/hpc/mpifileutils\fP>
.SH AUTHOR
HPC
.SH COPYRIGHT
2018, LLNL/LANL/UT-Battelle/DDN
.\" Generated by docutils manpage writer.
.