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

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

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

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

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

    https://linuxtalks.co/news/opensource/10866

    Это такая штука для возни с именами файлов, особенно если файлов очень много и руками этим заниматься очень лень, а то и вовсе нереально.

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