Lynnesbian
129aa83ade
All checks were successful
continuous-integration/drone/tag Build is passing
- extension_from_path now returns Option<&OsStr> - two new tests - Findings uses a Path instead of a PathBuf, reducing allocations - some unnecessary stuff removed, thanks clippy - that is all |
||
---|---|---|
.idea | ||
src | ||
.drone.yml | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
clippy.sh | ||
Cross.toml | ||
LICENSE | ||
README.md | ||
rustfmt.toml | ||
test.py |
fif
A command-line tool for detecting and optionally correcting files with incorrect extensions.
Installation
Default backend
cargo install --locked fif
Other backends
fif
supports using infer or xdg-mime as its
backend for looking up file types. By default, xdg-mime will be used on Linux, and infer on all other systems.
xdg-mime should work on any Unixy system with libmagic/file(1) installed, although I've only tested it on Linux. infer should work on any system.
You can override the default backend for your system at compile time like so:
# xdg-mime
cargo install --features=xdg-mime-backend
# infer
cargo install --features=infer-backend
Usage
See fif --help
for more.
The basics
The simplest way to use fif looks like this:
fif -E images ~/Pictures
This command will scan all of the files with extensions used by image files (.jpg, .png, etc) in your ~/Pictures
directory.
You can also manually specify a set of extensions to use:
fif -e jpeg,jpg,zip,docx ~/Documents
By default, fif will output a bash script that can be used to fix all the files it found with incorrect file extensions. You might find it useful to output this script to a file (rather than to stdout):
fif -E images ~/Pictures > output.sh
More coming soon!