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.
- 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 tomv - handles circular renaming
# Arch
yay -S bmv
yay -S bmv-bin
# via Go
go install github.com/abenz126/bmv@latestmv instance being used is /usr/bin/mv, unless $BMV_MV is specified.
# 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'