{"id":16687829,"url":"https://github.com/thealgorythm/frs","last_synced_at":"2025-03-21T18:33:25.510Z","repository":{"id":44347422,"uuid":"337681889","full_name":"TheAlgorythm/frs","owner":"TheAlgorythm","description":"Rename files with RegEx patterns.","archived":false,"fork":false,"pushed_at":"2023-09-21T08:53:47.000Z","size":453,"stargazers_count":11,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"MAIN","last_synced_at":"2025-03-18T03:51:31.703Z","etag":null,"topics":["cli","developer-tools","find","regex","rename","rename-directories","rename-files","rust","rust-lang"],"latest_commit_sha":null,"homepage":"https://zschoen.dev/projects/frs","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheAlgorythm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-10T09:58:40.000Z","updated_at":"2024-09-06T16:32:15.000Z","dependencies_parsed_at":"2024-10-28T11:29:45.367Z","dependency_job_id":"5f504a27-02cc-4dd1-9c87-1c381bd3d022","html_url":"https://github.com/TheAlgorythm/frs","commit_stats":{"total_commits":63,"total_committers":2,"mean_commits":31.5,"dds":0.06349206349206349,"last_synced_commit":"a06e26570585e9511d23dd28777a745c85a5c24a"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheAlgorythm%2Ffrs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheAlgorythm%2Ffrs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheAlgorythm%2Ffrs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheAlgorythm%2Ffrs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheAlgorythm","download_url":"https://codeload.github.com/TheAlgorythm/frs/tar.gz/refs/heads/MAIN","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244849567,"owners_count":20520739,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","developer-tools","find","regex","rename","rename-directories","rename-files","rust","rust-lang"],"created_at":"2024-10-12T15:25:16.081Z","updated_at":"2025-03-21T18:33:25.189Z","avatar_url":"https://github.com/TheAlgorythm.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# File Rename Search\n\n![MIT License](https://img.shields.io/github/license/TheAlgorythm/frs?style=for-the-badge\u0026logo=open-source-initiative)\n[![Workflow Status](https://img.shields.io/github/actions/workflow/status/TheAlgorythm/frs/check.yml?branch=MAIN\u0026style=for-the-badge)](https://github.com/TheAlgorythm/frs/actions?query=workflow%3ARust)\n[![Crates.io](https://img.shields.io/crates/v/frs?style=for-the-badge\u0026logo=rust)](https://crates.io/crates/frs)\n[![crev reviews](https://web.crev.dev/rust-reviews/badge/crev_count/frs.svg)](https://web.crev.dev/rust-reviews/crate/frs/)\n\nRename files with RegEx patterns.\n\n![Demo](https://zschoen.dev/img/frs_casts.svg)\n\n## Usage\n\n```zsh\n$ frs --help\n\nUSAGE:\n    frs [FLAGS] [OPTIONS] \u003csearch-pattern\u003e \u003creplace-pattern\u003e [base-path]\n\nFLAGS:\n    -i, --case-insensetive\n    -c, --continue-on-error\n    -d, --directory            Rename all matching directories. If no type is set, then everything will be renamed\n    -n, --dry-run              This is the default and lets you run it without the actual operation\n    -f, --file                 Rename all matching files. If no type is set, then everything will be renamed\n    -h, --help                 Prints help information\n    -r, --run                  Actually running the rename operation. If you want to set this as default, set the\n                               environment variable `FRS_DEFAULT_OP` to `RUN`\n    -s, --symlink              Rename all matching symlinks. If no type is set, then everything will be renamed\n    -T, --traverse-tree        This traverses the Directory Tree. If set, the renaming of directories will be disabled\n                               by default, to prevent the renaming of a directory and its inner files\n    -V, --version              Prints version information\n    -v, --verbose              Set the verbosity. In a dry-run its automatically set to 1\n\nOPTIONS:\n    -I, --icons \u003cicons\u003e     [env: FRS_SHOW_ICONS=]  [default: true]\n\nARGS:\n    \u003csearch-pattern\u003e\n    \u003creplace-pattern\u003e\n    \u003cbase-path\u003e           [default: .]\n```\n\n### Example\n\n```zsh\n$ frs -f '([a-z]+)_(\\d+)(\\..+)' '${2}_${1}${3}' test_folder\ntest_folder/bar_02.png -\u003e test_folder/02_bar.png\ntest_folder/foo_01.txt -\u003e test_folder/01_foo.txt\n```\n\n## Installation\n\n### Cargo\n\nPlease check, that you have a recent version of Rust installed.\n\n```zsh\n$ cargo install frs\n```\n\n## Setup\n\n### Operation Mode\n\nThe default operation is to do a dry-run. To change this behavior, you have to set the `FRS_DEFAULT_OP` environment variable to `RUN`.\n\n### Icons\n\n![Nerd Font Icons](https://zschoen.dev/img/frs_icons.png)\n\nfrs is able to show [Nerd Font](https://www.nerdfonts.com/) icons. If you don't use NF in your terminal you can disable it with the `--icons` option or with the `FRS_SHOW_ICONS` environment variable.\nThis can be done e.g. on ZSH by adding this line to your ~/.zshenv:\n\n```zsh\nexport FRS_SHOW_ICONS=false\n```\n\n\n## CREV - Rust code reviews - Raise awareness\n\nPlease, spread this info !\\\nOpen source code needs a community effort to express trustworthiness.\\\nStart with reading the reviews of the crates you use. Example: [web.crev.dev/rust-reviews/crate/num-traits/](https://web.crev.dev/rust-reviews/crate/num-traits/) \\\nThan install the CLI [cargo-crev](https://github.com/crev-dev/cargo-crev)\\. Read the [Getting Started guide](https://github.com/crev-dev/cargo-crev/blob/master/cargo-crev/src/doc/getting_started.md). \\\nOn your Rust project, verify the trustworthiness of all dependencies, including transient dependencies with `cargo crev verify`\\\nWrite a new review ! \\\nDescribe the crates you trust. Or warn about the crate versions you think are dangerous.\\\nHelp other developers, inform them and share your opinion.\\\nUse the helper on this webpage: [web.crev.dev/rust-reviews/review_new](https://web.crev.dev/rust-reviews/review_new)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthealgorythm%2Ffrs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthealgorythm%2Ffrs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthealgorythm%2Ffrs/lists"}