rmv/README.md

2.3 KiB

rmv: Renaming made easy with regex

rmv is a command-line tool that allows you to rename files in a directory using regular expressions. You can use it to match patterns in filenames and replace them with new patterns.

Installation

To install rmv, run the following command:

cargo install --git https://git.deadbsd.org/falso/rmv.git

Usage

To use rmv, you need to specify the path to the directory where the files to be renamed are located, a regular expression pattern to match against the filenames, and a replacement pattern for the matched filenames.

Here is an example usage:

$ rmv --path /path/to/files --pattern "S(\d+)E(\d+).*\.(...)" --replacement "Season \1 Episode \2.\3" --wildcard "*.mkv"

This will match all filenames in the directory that match the pattern "S(\d+)E(\d+).*\.(...)" and replace them with the pattern "Season \1 Episode \2.\3". Only files with the ".mkv" extension will be considered.

mv "Not Warez - S01E16 - HDTV-720p.mkv" "Season 01 Episode 16.mkv"
mv "Not Warez - S01E17 - HDTV-720p.mkv" "Season 01 Episode 17.mkv"
mv "Not Warez - S01E18 - HDTV-720p.mkv" "Season 01 Episode 18.mkv"
mv "Not Warez - S01E19 - HDTV-720p.mkv" "Season 01 Episode 19.mkv"
mv "Not Warez - S01E20 - WEBDL-1080p.mkv" "Season 01 Episode 20.mkv"
mv "Not Warez - S01E21 - WEBDL-1080p.mkv" "Season 01 Episode 21.mkv"

Options

Here are the available options:

-i, --path <PATH>
    Path to the directory where the files to be renamed are located

-s, --pattern <PATTERN>
    Regular expression pattern to match against the filenames in the directory.
    The pattern should contain match groups (expressed in parentheses). Example: "S(\d+)E(\d+).*\.(...)"

-r, --replacement <REPLACEMENT>
    Replacement pattern for the matched filenames.
    You can use `\1`, `\2`, etc. to reference the match groups in the pattern. Example: "Season \1 Episode \2.\3"

-w, --wildcard <WILDCARD>
    Filename wildcard to filter the files to be renamed in the directory.
    Use `*` to match any filename. For example, "*.mkv" will match all files with the ".mkv" extension.
    [default: *]

-h, --help
    Print help (see a summary with '-h')

-V, --version
    Print version

License

This tool is licensed under the WTFPL. See the LICENSE file for details.