dfind

SYNOPSIS

dfind [OPTION] [EXPRESSION] PATH ...

DESCRIPTION

Parallel MPI application to filter a list of files according to an expression.

dfind provides functionality similar to find(1).

The file list can be obtained by either walking one or more paths provided on the command line or through an input list.

The filtered list can be written to an output file.

OPTIONS

-i, --input FILE

Read source list from FILE. FILE must be generated by another tool from the mpiFileUtils suite.

-o, --output FILE

Write the processed list to a file.

-v, --verbose

Run in verbose mode.

-h, --help

Print a brief message listing the dfind(1) options and usage.

EXPRESSIONS

Numeric arguments can be specified as:

+N more than N
-N less than N
N exactly N
--amin N

File was last accessed N minutes ago.

--anewer FILE

File was last accessed more recently than FILE was modified.

--atime N

File was last accessed N days ago.

--cmin N

File's status was last changed N minutes ago.

--cnewer FILE

File's status was last changed more recently than FILE was modified.

--ctime N

File's status was last changed N days ago.

--gid N

File's numeric group ID is N.

--group NAME

File belongs to group NAME.

--mmin N

File's data was last modified N minutes ago.

--name PATTERN

Base of file name matches shell pattern PATTERN.

--path PATTERN

Full path to file matches shell pattern PATTERN.

--regex REGEX

Full path to file matches POSIX regular expression REGEX. Regular expressions processed by regexec(3).

--newer FILE

File was modified more recently than FILE.

--mtime N

File's data was last modified N days ago.

--size N

File size is N bytes. Units can be used like 'KB', 'MB', 'GB'.

--type C

File is of type C:

d directory
f regular file
l symbolic link
--uid N

File's numeric user ID is N.

--user NAME

File is owned by user NAME.

ACTIONS

--print

Print file name to stdout.

--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.

EXAMPLES

  1. Print all files owner by user1 under given path:

mpirun -np 128 dfind -v --user user1 --print /path/to/target

  1. To find all files less than 1GB and write them to a file:

mpirun -np 128 dfind -v -o outfile --size -1GB /path/to/target

  1. Filter list in infile to find all regular files not changed in the past 180 days and write new list to outfile:

mpirun -np 128 dfind -v -i infile -o outfile --type f --mtime +180

SEE ALSO

The mpiFileUtils source code and all documentation may be downloaded from <https://github.com/hpc/mpifileutils>