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
.
You can use nominoAUR package to install nomino in Arch Linux.
The nominoAUR package depends on rust package, if you have installed rust
using rustup
, then use makepkg -dsi
to install it by ignoring dependencies.
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 (RE2 syntax) 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 RE2.
{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.Utility macros, buttons, and styles for documentation and development
@elahe-dastan / @1995parham training and testing repository 📚 🤓
Browser Select is a utility to dynamically select the browser you want instead of just having one default for all links.
Command line interface to manage clipboard
A collection of useful javascript utility Classes, Functions, and React Hooks.
The mini snake game support for my final lab at university. They were designed by Java OOP and Java Swing GUI.
Asynchronous allocation of TUN/TAP devices in Rust using tokio
Face your fears with this repository :)