Новое “правило”: exec.

{
    type        = "exec";
    command     = "echo '<Placeholder>' | grep -Eo '[0-9]+'";
    placeholder = "<Placeholder>";
}

Т.е. если вдруг захочется поиграться с регулярками или использовать при формировании нового имени какое-то формат-специфическое свойство (например, битрейт у аудиофайлов или размер в пикселях у изображений), то теперь можно всё, что вам позволит “однострочник”.

А можно всё испортить? Да, всё испортить тоже можно если у вас достаточно прав. You’re welcome!

  • deep-purple
    link
    fedilink
    arrow-up
    0
    ·
    4 years ago

    Ну, хз… Задача редкая, я просто скриптую на месте.

    • UsruserOP
      link
      fedilink
      arrow-up
      0
      ·
      4 years ago

      Кому как. Кому-то нафиг не нужно, кому-то нужно, но хватает наколеночных скриптов ad hoc, а кому-то приходится заниматься этим регулярно и хотелось бы иметь решение, которое в какой-то мере оттестировано и умеет обрабатывать ошибки.
      Ты же не хочешь чтобы переименование дерева с парой сот тысяч файлов закончилось где-то посередине да ещё и некоторые файлы оказались уничтоженными, потому что случайно совпали имена?

      • deep-purple
        link
        fedilink
        arrow-up
        0
        ·
        4 years ago

        Я всегда помню про возможность совпадения имен. Более того, помню и про хешсумму содержимого файлов, как быструю (берем несколько байт интервалами и с них получаем), так и медленную (с полным обходом содержимого.

        • UsruserOP
          link
          fedilink
          arrow-up
          0
          ·
          4 years ago

          Ну что мне тебе тогда рассказывать, если ты и сам знаешь, что нюансов много и это явно не уровень скрипта.

          Банальный пример: при переименовании что-то пошло не так. Сбойнула ФС, президент обсрался или ещё какая катастрофа и переименование очередного файла из большого списка завершилось ошибкой. Номенус попытается вернуть всё как было: переименует уже обработанные файлы обратно…

          Блин, много тонкостей. Реально написать всё это баше? Ну, блин. Всё реально если достаточно упороться :)

          • deep-purple
            link
            fedilink
            arrow-up
            0
            ·
            4 years ago

            Какой баш? Ты о чем? Это: рсинк, перл, питон, пых.

            • UsruserOP
              link
              fedilink
              arrow-up
              0
              ·
              4 years ago

              Какой баш?

              Ты не поверишь что у людей может быть в голове…

              • deep-purple
                link
                fedilink
                arrow-up
                0
                ·
                4 years ago

                Верю. Ибо видел. Но, есть у меня и на баше миграционки, инсталляторы и чекалки. Пашут. Но там я писал конечные автоматы: набрал команду и оно само нужные вселенные построило.

      • deep-purple
        link
        fedilink
        arrow-up
        0
        ·
        4 years ago

        Это тебе типа “фичреквест”, если такого еще нет, когда имена разные, а содержимое одинаковое.

        • UsruserOP
          link
          fedilink
          arrow-up
          0
          ·
          4 years ago

          когда имена разные, а содержимое одинаковое.

          Я думаю таким должна замиться отдельная утилита.

          • deep-purple
            link
            fedilink
            arrow-up
            0
            ·
            4 years ago

            nomenus-duplichecker-rex

            Главное не докатиться до nomenusD ))

            • UsruserOP
              link
              fedilink
              arrow-up
              0
              ·
              4 years ago

              Поттеринг: О! Нужно добавить модуль сравнения файлов в systemd. Спасибо @deep-purple, теперь Линукс станет ещё лучше!