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 :manpage:`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 ------- .. option:: -i, --input FILE Read source list from FILE. FILE must be generated by another tool from the mpiFileUtils suite. .. option:: -o, --output FILE Write the processed list to a file. .. option:: -v, --verbose Run in verbose mode. .. option:: -q, --quiet Run tool silently. No output is printed. .. option:: -h, --help Print a brief message listing the :manpage:`dfind(1)` options and usage. EXPRESSIONS ----------- Numeric arguments can be specified as: +----+-------------+ | +N | more than N | +----+-------------+ | -N | less than N | +----+-------------+ | N | exactly N | +----+-------------+ .. option:: --amin N File was last accessed N minutes ago. .. option:: --anewer FILE File was last accessed more recently than FILE was modified. .. option:: --atime N File was last accessed N days ago. .. option:: --cmin N File's status was last changed N minutes ago. .. option:: --cnewer FILE File's status was last changed more recently than FILE was modified. .. option:: --ctime N File's status was last changed N days ago. .. option:: --mmin N File's data was last modified N minutes ago. .. option:: --newer FILE File was modified more recently than FILE. .. option:: --mtime N File's data was last modified N days ago. .. option:: --gid N File's numeric group ID is N. .. option:: --group NAME File belongs to group NAME. .. option:: --uid N File's numeric user ID is N. .. option:: --user NAME File is owned by user NAME. .. option:: --name PATTERN Base of file name matches shell pattern PATTERN. .. option:: --path PATTERN Full path to file matches shell pattern PATTERN. .. option:: --regex REGEX Full path to file matches POSIX regular expression REGEX. Regular expressions processed by :manpage:`regexec(3)`. .. option:: --size N File size is N bytes. Units can be used like 'KB', 'MB', 'GB'. .. option:: --type C File is of type C: +---+---------------+ | b | block device | +---+---------------+ | c | char device | +---+---------------+ | d | directory | +---+---------------+ | f | regular file | +---+---------------+ | l | symbolic link | +---+---------------+ | p | pipe | +---+---------------+ | s | socket | +---+---------------+ ACTIONS ------- .. option:: --print Print file name to stdout. .. option:: --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`` 2. 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`` 3. 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