abenz1267 / bmv

bulk rename files from stdin. drop-in mv replacement.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BMV - Bulkmove

Wrapper around mv which allows bulk operations via stdin.

bmv will also create missing directories and cleanup directories that became empty in the process. Both are configurable via flags.

Features

  • bulk renaming via stdin
  • rename file(s) in editor ($EDITOR)
  • define processor for renaming, f.e. sed
  • create missing directories on the fly
  • delete directories that became empty after moving
  • drop-in replacement for mv: args/flags will be passed to mv
  • handles circular renaming

Installation

# Arch
yay -S bmv
yay -S bmv-bin

# via Go
go install github.com/abenz126/bmv@latest

mv instance being used is /usr/bin/mv, unless $BMV_MV is specified.

Usage

# normal 'mv' actions, simply passed to 'mv':
bmv oldfile newfile

# bmv specific:
<2 column output from external [src dest\n]> | bmv
fzf -m | bmv -e # defaults to $EDITOR
fzf -m | bmv -e=vim
ls | bmv -p sed 's/old/new/'
bmv -p sed 's/old/new/' # implicit call to 'ls'
bmv # same as 'ls | bmv -e'

About

bulk rename files from stdin. drop-in mv replacement.

License:MIT License


Languages

Language:Go 100.0%