DFIND(1)

πŸ“¦ version 0.12, in nixpkgs unstable

πŸ’… dfind(1) β€” the mpiFileUtils glow-up ✨

okay bestie so you're reading the dfind man page from mpiFileUtils, section 1 of the manual, and honestly? it's giving "find(1) but make it parallel and distributed" and I'm obsessed. buckle up πŸŽ€


✨ NAME ✨

dfind β€” distributed file filtering. that's it, that's the vibe. πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

dfind [OPTION] [EXPRESSION] PATH ...

🌸 DESCRIPTION 🌸

so dfind is a parallel MPI application that filters a list of files according to an expression. like, you give it a whole list of files and an expression, and it's like "ok these ones pass the vibe check, these ones don't." 🫢

it provides functionality similar to find(1) β€” iykyk, it's the classic, but reimagined.

the file list can be obtained by either walking one or more paths provided on the command line or through an input list. your choice, main character. ✨

and the filtered list can be written to an output file. slay. πŸ’…


πŸ’œ OPTIONS πŸ’œ

  • -i, --input FILE β€” read the source list from FILE. important though: FILE must be generated by another tool from the mpiFileUtils suite. no random files, it's a whole ecosystem bestie. 🧚
  • -o, --output FILE β€” write the processed list to a file. πŸ’Ύ
  • -t, --text β€” must be used with the --output option. writes the processed list of files to FILE in ascii text format. okay but like, pair it with --output or it's not gonna work fr.
  • -v, --verbose β€” run in verbose mode. it will yap. love that for you. πŸ—£οΈ
  • -q, --quiet β€” run tool silently. no output is printed. the strong silent type. 🀫
  • -h, --help β€” print a brief message listing the dfind(1) options and usage. your little helper. πŸŽ€

πŸ”₯ EXPRESSIONS πŸ”₯

okay so numeric arguments can be specified as:

  • +N β€” more than N
  • -N β€” less than N
  • N β€” exactly N

literally that's the whole system, kind of iconic tbh.

  • --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.
  • --mmin N β€” file's data was last modified N minutes ago. ⭐
  • --newer FILE β€” file was modified more recently than FILE.
  • --mtime N β€” file's data was last modified N days ago.
  • --gid N β€” file's numeric group ID is N. πŸͺͺ
  • --group NAME β€” file belongs to group NAME.
  • --uid N β€” file's numeric user ID is N.
  • --user NAME β€” file is owned by user NAME. πŸ’–
  • --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). nerd mode activated, no cap. πŸ€“
  • --size N β€” file size is N bytes. units can be used like 'KB', 'MB', 'GB'. πŸ”
  • --type C β€” file is of type C, and the types are:
    • b β€” block device
    • c β€” char device
    • d β€” directory
    • f β€” regular file
    • l β€” symbolic link
    • p β€” pipe
    • s β€” socket

πŸŽ€ ACTIONS πŸŽ€

  • --print β€” print file name to stdout. simple. effective. iconic. πŸ–¨οΈ
  • --exec CMD ; β€” execute command CMD on file. here's the tea: all following arguments are taken as arguments to the command until ';' is encountered, and the string '{}' is replaced by the current file name. don't forget the semicolon bestie, it's load-bearing. πŸ’€

🌟 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 <https://github.com/hpc/mpifileutils> β€” go follow, it's giving open source royalty πŸ‘‘


πŸ¦‹ AUTHOR πŸ¦‹

HPC


2022, LLNL/LANL/UT-Battelle/DDN


okay that's the whole page, you're officially a dfind girlie now πŸ’…βœ¨

version 0.12, dated Jan 29, 2025 β€” mwah, xoxo πŸ«ΆπŸŽ€πŸ“

πŸ“¦ where this page comes from