может ли mmv переименовывать файлы путем увеличения индекса?

может ли mmv переименовывать файлы путем увеличения индекса?

Может ли mmv, утилита массового перемещения, корректно переименовывать файлы из:

  • фу.txt
  • бар.txt
  • баз.txt

к:

  • 1.txt
  • 2.txt
  • 3.txt

Страница руководства интригует, но я не совсем следую инструкциям:

   Rename all *.jpeg files in the current directory to *.jpg:

  mmv '*.jpeg' '#1.jpg'

Можно ли #1задать переменной целое число, которое увеличивается? Хотя я не сомневаюсь, что это возможно, так же ли легко (или сложно) просто использовать bash или другой скрипт?

Игнорируем возможную проблему перезаписи 1.txtдля простоты. Или скопируйте в подкаталог.

смотрите также:

https://stackoverflow.com/questions/3211595/

https://stackoverflow.com/questions/880467/

Переименовывать файлы, увеличивая число в имени файла.

решение1

У меня нет этой программы в системе — на самом деле, я не помню, чтобы я когда-либо слышал о ней — но я читалэта копия страницы руководства, и, похоже, программа не включает в себя функциональность, которую вы хотите. Однако, если вы особенно хотите сделать это с mmv, вы можете попробовать это:

mmv -an "*.txt" bogus.target > /tmp/mmv.list

The -nговорит mmvне делать никаких ходов, а просто сообщить, что бы он сделал, если бы вы не указали -n. The -aговорит ему добавить все текстовые файлы в один файл bogus.target— на самом деле, страница руководства дает очень похожий пример (но без опции -n) — я использую его здесь просто для того, чтобы убедить mmv разрешить нескольким исходным файлам сталкиваться в одну цель. Это должно создать /tmp/mmv.listфайл, который выглядит примерно так:

bar.txt -> bogus.target
baz.txt -> bogus.target
foo.txt -> bogus.target

(Я предполагаю, что он перечислит файлы либо в лексикографическом (алфавитном) порядке, либо в порядке каталогов (который может показаться произвольным). Если вам нужен какой-то другой порядок, вам нужно будет найти способ указать его.) Затем обработайте файл (например, с помощью скрипта, TBD), чтобы заменить вхождения на bogus.target , 1.txt, 2.txt, 3.txtи т. д. Затем выполните

mmv < /tmp/mmv.list

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

Обратите внимание также, что это, вероятно, по крайней мере столько же работы, сколько и некоторые из ответов на вопросы, на которые вы ссылались. Как я уже сказал, я предлагаю это предложение на тот случай, если вы особенно хотите сделать это с mmv.

P.S. Мой ответ (выше) был частично вдохновленВот этот.

Связанный контент