1 unstable release
0.1.0 | Oct 17, 2023 |
---|
#47 in #utils
20KB
307 lines
Summary
This code implements a Rust program that searches for files bigger than 100mb in a given directory or the whole file system if no filepath is given. It uses the clap
and std
libraries for command line argument parsing and file size calculation, respectively.
Example Usage
// Run the program with a specific directory path
$ ./sizer -p /path/to/directory
// Run the program without specifying a directory path (searches the whole file system)
$ ./sizer
// Run the program with a specific directory path and custom file size threshold
$ ./sizer -p /path/to/directory -s 200
Code Analysis
Inputs
matches
: Aclap::ArgMatches
object that contains the parsed command line arguments.
Flow
- Initialize the logger for logging purposes.
- Parse the command line arguments using
clap
to get thematches
object. - Get the value of the
path
argument from thematches
object. - If a
path
value is provided, convert it to aPathBuf
object and assign it tohome_dir
. - Get the value of the
size
argument from thematches
object. - If a
size
value is provided, assign it tosize
as anOption<&String>
. - If a
path
value is provided, call theentry
function from thesizer
library withhome_dir
andsize
as arguments. - If no
path
value is provided, create aPathBuf
object for the root directory ("/") and assign it toroot_dir
. - Call the
entry
function from thesizer
library withroot_dir
andsize
as arguments.
Outputs
None. The function performs file size calculations and logging based on the provided command line arguments.
Dependencies
~4–13MB
~142K SLoC