19 releases
0.6.5 | Oct 24, 2023 |
---|---|
0.6.3 | Sep 6, 2023 |
0.6.2 | Jul 5, 2023 |
0.6.1 | Feb 28, 2023 |
0.4.3 | Feb 27, 2022 |
#413 in Filesystem
54KB
1K
SLoC
rng-rename
A CLI tool to rename files to randomly generated strings.
Quick Start
# rename `path/to/foo` and `path/to/bar.txt` to randomly generated names
rng-rename path/to/foo path/to/bar.txt
The defaults are sensible, so you can expect something like this:
Batch #1/1:
"/abs/path/to/foo" -> "09c43d3d"
"/abs/path/to/bar.txt" -> "67aec57d.txt"
Confirm batch? You can proceed(p), skip(s), or halt(h): proceed
Renamed 2 files. Done.
Markdown doesn't show colours, but the real thing does!
There are plenty of various options available. You can for example:
- Preview using the
--dry-run
flag - Choose which character set to use for random names using the
--char-set
option - Specify the number of random characters using the
--length
option - Choose upper/lower/mixed case where applicable using the
--case
option - Set a prefix and/or a suffix to the randomly generated name using
--prefix
and--suffix
options - Choose what to do with the file extension using the
--ext-mode
option
And more. For full usage, run:
rng-rename --help
Why?
Suppose you downloaded a few hundred images to use as your desktop wallpapers. You have a wallpaper tool that cycles through them, but unfortunately it only supports filename-ordering, whereas you prefer to have the images shuffled.
Well, rng-rename to the rescue! Simply run this tool on all your images and the filename-ordering is completely scrambled.
You can also use this tool for data analysis purposes. A data scientist might want to randomise their dataset before running some analysis, but keep the same ordering over several runs. rng-rename is useful in this case too.
I guess you can say rng-rename is a tool looking for a purpose. Ultimately it is up to you, the user, to give it a one.
Install
from crates.io
cargo install rng-rename
from AUR
# with paru
paru rng-rename
# or with yay
yay rng-rename
Contributing
All ideas and pull requests are welcomed! Please abide by Rust's official code of conduct.
For an incomplete list of things that could use improvement, please see Errata.md.
Dependencies
~7–19MB
~194K SLoC