Новое “правило”: exec.
{
type = "exec";
command = "echo '<Placeholder>' | grep -Eo '[0-9]+'";
placeholder = "<Placeholder>";
}
Т.е. если вдруг захочется поиграться с регулярками или использовать при формировании нового имени какое-то формат-специфическое свойство (например, битрейт у аудиофайлов или размер в пикселях у изображений), то теперь можно всё, что вам позволит “однострочник”.
А можно всё испортить? Да, всё испортить тоже можно если у вас достаточно прав. You’re welcome!

Ну, хз… Задача редкая, я просто скриптую на месте.
Кому как. Кому-то нафиг не нужно, кому-то нужно, но хватает наколеночных скриптов ad hoc, а кому-то приходится заниматься этим регулярно и хотелось бы иметь решение, которое в какой-то мере оттестировано и умеет обрабатывать ошибки.
Ты же не хочешь чтобы переименование дерева с парой сот тысяч файлов закончилось где-то посередине да ещё и некоторые файлы оказались уничтоженными, потому что случайно совпали имена?
Я всегда помню про возможность совпадения имен. Более того, помню и про хешсумму содержимого файлов, как быструю (берем несколько байт интервалами и с них получаем), так и медленную (с полным обходом содержимого.
Ну что мне тебе тогда рассказывать, если ты и сам знаешь, что нюансов много и это явно не уровень скрипта.
Банальный пример: при переименовании что-то пошло не так. Сбойнула ФС, президент обсрался или ещё какая катастрофа и переименование очередного файла из большого списка завершилось ошибкой. Номенус попытается вернуть всё как было: переименует уже обработанные файлы обратно…
Блин, много тонкостей. Реально написать всё это баше? Ну, блин. Всё реально если достаточно упороться :)
Какой баш? Ты о чем? Это: рсинк, перл, питон, пых.
Ты не поверишь что у людей может быть в голове…
Верю. Ибо видел. Но, есть у меня и на баше миграционки, инсталляторы и чекалки. Пашут. Но там я писал конечные автоматы: набрал команду и оно само нужные вселенные построило.
Это тебе типа “фичреквест”, если такого еще нет, когда имена разные, а содержимое одинаковое.
Я думаю таким должна замиться отдельная утилита.
nomenus-duplichecker-rex
Главное не докатиться до nomenusD ))
Поттеринг: О! Нужно добавить модуль сравнения файлов в systemd. Спасибо @deep-purple, теперь Линукс станет ещё лучше!