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

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

  • foo.txt
  • ] bar.txt
  • baz.txt

to:

  • 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/

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

0
23.05.2017, 15:39
1 ответ

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

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

-n сообщает mmv не делать никаких ходов, а просто сообщать о том, что было бы сделано, если бы вы не указали -n . -a указывает ему добавить все текстовые файлы в один файл bogus.target - фактически, На странице руководства приведен очень похожий пример (но без параметра -n ) - Я использую его здесь просто, чтобы убедить mmv {{1} }, чтобы позволить нескольким исходным файлам объединиться в одну цель. В результате должен получиться файл /tmp/mmv.list , который выглядит примерно как

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

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

mmv < /tmp/mmv.list

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

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

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

0
28.01.2020, 04:53

Теги

Похожие вопросы