{"id":16040431,"url":"https://github.com/andrewaguiar/rpx","last_synced_at":"2025-03-18T04:30:57.724Z","repository":{"id":147215423,"uuid":"130686015","full_name":"andrewaguiar/rpx","owner":"andrewaguiar","description":"A simple and more visual string searcher and replacer for programmers","archived":false,"fork":false,"pushed_at":"2024-05-06T05:38:50.000Z","size":9529,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-28T06:09:08.901Z","etag":null,"topics":["cli-tool","elixir-lang","replace-text"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andrewaguiar.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":"2018-04-23T11:25:47.000Z","updated_at":"2024-02-27T16:00:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"f43931dd-47e3-40c0-8823-580c4cf84aa7","html_url":"https://github.com/andrewaguiar/rpx","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewaguiar%2Frpx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewaguiar%2Frpx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewaguiar%2Frpx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewaguiar%2Frpx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrewaguiar","download_url":"https://codeload.github.com/andrewaguiar/rpx/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243902270,"owners_count":20366259,"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-tool","elixir-lang","replace-text"],"created_at":"2024-10-08T23:12:46.391Z","updated_at":"2025-03-18T04:30:56.702Z","avatar_url":"https://github.com/andrewaguiar.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rpx (simple and extensible string replacer)\n\nRpx is a tool to provide simple string replacement to GIT controled projects, it is\na `sed` less powerfull but simpler.\n\n## Motivation\n\nSometimes I wanted to perform some string replacement on several files, I used `sed` for this\nbut even though it works perfectly I missed some features like:\n\n  - Filtering only git files `git ls-files`.\n  - Visual preview of changes.\n  - Be able to cherry pick which files / lines would be changed.\n\nSo because this I decided to create my own tool for this.\n\n![Example](example.png)\n\n## Installation\n\nJust download the binary in `bin/rpx` and add it to the path\n\n```shell\nwget https://raw.githubusercontent.com/andrewaguiar/rpx/master/dist/rpx\nchmod +x rpx\n```\n\nOr clone the project and make the binary\n\n```shell\ngit clone git@github.com:andrewaguiar/rpx.git\ncd rpx\n./make_dist\n```\n\nThen add it to PATH\n\n```shell\nexport PATH=\"$PATH:rpx_location/dist\"\n```\n\n## Usage\n\nType `rpx` to see instructions.\n\n```shell\nNAME\n       rpx -- simple and powerfull string replacer based on non gitignore files\n\nSYNOPSIS\n       rpx \u003cstring-to-be-replaced\u003e [replacement] [-f]\n\nDESCRIPTION\n\n       Rpx scans all git ls-files recursively and shows all occurences of \u003cstring-to-be-replaced\u003e in each file, then it\n       asks for confirmation before replace all occurrences by \u003creplacement\u003e.\n\n       The following options are available:\n\n       --filename | -f\n              Filters by absolute path name in any part (defaults '').\n\n              Example: \"rpx AppController ApplicationController -f controllers\" will consider only files with controllers\n                       in absolute path like (\"app/controllers/app_controllers.rb\", \"config/controllers.rb\").\n```\n\n### Creating a bin\n\nrun `./make_dist` and the binary will be generated in `./dist`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewaguiar%2Frpx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrewaguiar%2Frpx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewaguiar%2Frpx/lists"}