Expand description
lrg
is a library for find the largest (or smallest) files in a given directory.
There is also support for searching by a custom function, given DirEntry
’s.
In addition to this, you can specify (in LrgOptions
) the minimum depth and maximum depth to search for,
such as if you wanted to prevent recursion. You can also speficy whether to follow links or to include
directories.
Note: DirEntry
is a typedef of walkdir::DirEntry
Examples
To find the largest files in a directory:
use std::path::Path;
use lrg::{Lrg, LrgOptions, DirEntry, SortBy};
// Get a path to some directory (or file)
let path = Path::new("./some/path");
// Create the Lrg object to store the entries
let mut lrg: Lrg = Lrg::new(path, &LrgOptions::default());
// Sort and get the entries
let mut entries: Vec<DirEntry> = lrg.sort_by(&SortBy::Descending).get_entries();
// You can also call `sort_descending`
entries = lrg.sort_descending().get_entries();
// These calls mutate the underlying struct, so calling:
entries = lrg.get_entries();
// Will give you the same as the call before it
To find the smallest files in a directory:
let path = Path::new("./some/other/path");
let mut lrg: Lrg = Lrg::new(path, &LrgOptions::default());
let entries: Vec<DirEntry> = lrg.sort_ascending().get_entries();
To search using a custom function:
let path = Path::new("./another/path");
let mut lrg: Lrg = Lrg::new(path, &LrgOptions::default());
// Sort by filename (note: not the full path)
lrg.sort_by_custom(|a: &DirEntry, b: &DirEntry| {
a.file_name().cmp(b.file_name())
});
let entries: Vec<DirEntry> = lrg.get_entries();
Structs
The main struct for searching for files by size.
Constructed using
new
, passing in a path and options.Options when constructing an
Lrg
struct.Enums
Specifies the sorting algorithm.
Functions
This function gets a string for a walkdir error.
This is needed since
io_error.to_str()
is not public.Type Definitions
A type copy of the
walkdir::DirEntry
struct.