Работает до ужаса просто, чем и подкупает...
vils [file ...]
Без указания файлов открывает для редактирования список файлов текущей директории.
Вот пример того как будет выглядеть текстовый файл
0001 filename1
0002 filename2
0003 filename3
Редактирую имя файла и сохраняя текстовый документ мы выполняем переименование. Проще простого, ну а текстовый редактор указанный в $EDITOR может позволить сделать что-то вроде массового переименование по шаблону или какие-нибудь другие чудеса, хотя использовать vils для редактирования имени нескольких файлов мне кажется удобнее всего.
Страница vils (скачать сам скрипт)
Есть ещё схожая по функционалу программа vimv (Vi move оффсайт) написанная на python и работающая в духе vim, хотя можно использовать и любой другой редактор. Отображает в текстовом редакторе список аналогично как и vils, но не показывает номера файлов (только их имена). Так же vimv немного функциональнее, к примеру, в списке файлов не отображает каталоги, ведь их он переименовывать как и vils не умеет.
Так же у vimv есть пара полезных опций придающих ему дополнительный функционал отсутствующий в vils:
- -a — позволяет показывать скрытые файлы
- -v, --verbose — показывает сделанные изменения после закрытия редактируемого файла
- -e EDITOR, --editor=EDITOR — для указания редактора, который к сожалению нельзя внести в какой-нибудь конфиг или переменную окружения, так что придется указывать редактор каждый раз если не хочется пользовать vi (хотя заменить редактор в строке default='vi' в файле программы никто не запрещает)
Две очень схожих по функционалу консольных полезняшки — я разрвался в выборе, ибо vils может переименовывать список файлов, а vimv может принимать параметрами список каталогов файлы в которых надо переименовать. Но два одновременно пользовать не удобно, лишняя команда в памяти, посему написал небольшую обёртку для одновременного использования двух этих полезняшек, дабы не задумываться о том какую сейчас лучше запустить
#!/bin/sh
# враппер для переименовальщиков vils и vimv #
# упрощающий одновременную работу с обоими #
#########################################################
# by muhas #
#########################################################
# мало ли у вас они по другому названы
# к примеру vimv может быть vimv.py
# или вообще в переменной $PATH этих двух полезняшек нет
VILS="vils"
VIMV="vimv"
if [ .$1 = ."" ]; then
#если нет параметров то вызываем то что больше по нраву
$VIMV
else
if [ -d $1 ]; then
# если первая опция окажится каталогом, то тогда лучше пользовать vimv
$VIMV $@
elif [ -f $1 ]; then
# если первой опцией файл пойдет
$VILS $@
else
# ну а если не файл и не каталог, то видимо какая-то опция, а опции у нас только vimv понимает
$VIMV $@
fi
fi
Надеюсь со временем vimv возымеет возможность редактирования списка файлов передаваемых в параметрах и надобность в этом врапере отпадет...