{"repo":"marcusbuffett/pipe-rename","free":true,"listed":false,"github":"https://github.com/marcusbuffett/pipe-rename","clone":"git clone https://github.com/marcusbuffett/pipe-rename.git","description":"Rename your files using your favorite text editor","language":"Rust","stars":441,"topics":["command-line-tool","devtool","rust"],"license":"MIT","category":"cli-tools","readme_excerpt":"pipe-rename pipe-rename takes a list of files as input, opens your $EDITOR of choice, then renames those files accordingly. Installation cargo install pipe-rename This will install the renamer binary. Usage Usage is simple, just pipe a list of files into renamer . This will open your $EDITOR (or vim, if not set or passed with --editor ) -- or %EDITOR% (or Notepad on Windows, if not set or passed with --editor ), and once your editor exits it will detect which files were renamed: You can also supply filenames as positional arguments. To rename .txt files in the current directory: The default behavior is to rename files, but you can override this. If you want to run git mv old new on each rename, you can do something like this: Help text Caveat emptor NB: it makes sense to be aware of the issues ls can cause in this context, depending on the ls flavor (or substitute, such as lsd , exa ...) used. Please read this document for more information. While your shell will pass the file names individually, no matter if they contain whitespace, an ls that fails to detect the pipe and print one file name per line will cause issues. Unfortunately ls -Q also isn't a solution here, because unlike the shell -- which will strip quotes prior to passing them to invoked commands -- renamer won't handle the quoted names and will probably complain about non-existent files, too. Advanced usage If you have tools like GNU find at your disposal, you can also use the following method: This would execute","default_branch":null,"files":null,"tree":[],"storefront":"/r/marcusbuffett","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/marcusbuffett/pipe-rename/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}