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

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

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

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

  • 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, теперь Линукс станет ещё лучше!