Crates.io | nomino |
lib.rs | nomino |
version | |
source | src |
created_at | 2020-04-18 09:17:20.591866 |
updated_at | 2024-12-01 22:17:19.519209 |
description | Batch rename utility for developers |
homepage | https://github.com/yaa110/nomino |
repository | https://github.com/yaa110/nomino |
max_upload_size | |
id | 231439 |
Cargo.toml error: | TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
Batch rename utility for developers
You can download a pre-compiled executable for Linux, MacOS and Windows operating systems, then you should copy that executable to a location from your $PATH
env:
You might need to run chmod +x nomino-linux-64bit
or chmod +x nomino-macos-64bit
.
If you prefer to build nomino manually, or a pre-compiled executable is not provided for your target, then you can build nomino from scratch:
curl -sSf https://sh.rustup.rs | sh
cargo install nomino
USAGE:
nomino [FLAGS] [OPTIONS] [[SOURCE] OUTPUT]...
FLAGS:
-e, --extension Preserves the extension of input files in 'sort' and 'regex' options
-h, --help Prints help information
-k, --mkdir Recursively creates all parent directories of '<OUTPUT>' if they are missing
-w, --overwrite Overwrites output files, otherwise, a '_' is prepended to filename
-p, --print Prints the map table to stdout
-t, --test Runs in test mode without renaming actual files (dry-run)
-V, --version Prints version information
OPTIONS:
--depth <DEPTH> Optional value to overwrite inferred subdirectory depth value in 'regex' mode
--max-depth <DEPTH> Optional value to set the maximum of subdirectory depth value in 'regex' mode
-d, --dir <PATH> Sets the working directory
-g, --generate <PATH> Stores a JSON map file in '<PATH>' after renaming files
-m, --map <PATH> Sets the path of map file to be used for renaming files
-r, --regex <PATTERN> Regex pattern to match by filenames
-s, --sort <ORDER> Sets the order of natural sorting (by name) to rename files using enumerator [possible values: ASC, DESC]
ARGS:
<[SOURCE] OUTPUT>... OUTPUT is the pattern to be used for renaming files, and SOURCE is the optional regex pattern to match by filenames. SOURCE has the same function as -r option
{
"<input1>": "<output1>",
"<input2>": "<output2>",
"<...>": "<...>"
}
The output is necessary when using --sort
or --regex
options.
The accepted syntax of regex pattern is Rust Regex.
{I:P}
where I
is the index of captured group and P
is the padding of digits with 0
. For example, {2:3}
means the third captured group with a padding of 3, i.e. 1
is formatted as 001
.0
, and {0}
means the filename.I
could be dropped, i.e. {}
or {:3}
. In this case an auto incremental index is used which starts from 1
. For example, {} {}
equals {1} {2}
.{
and }
characters could be escaped using \
character, i.e. \\{
and \\}
in cli.{:3}
for 1
is 001
, for -1
is -1
and for a
is a
.--sort
option is used, the first index {0}
is the filename and the second index {1}
or first occurrence of {}
is the enumerator index.