mmv可以通过增加索引来重命名文件吗?

mmv可以通过增加索引来重命名文件吗?

mmv(一种大规模移动实用程序)可以很好地重命名以下文件:

  • foo.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

告诉不要做任何动作,-nmmv只是报告如果您没有指定它会做什么-n。告诉-a它将所有文本文件附加到一个文件中bogus.target- 事实上,手册页给出了一个非常相似的示例(但没有选项-n) - 我在这里使用它只是为了说服mmv 允许多个源文件碰撞到一个目标中。这应该会生成一个/tmp/mmv.list看起来像这样的文件

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

(我假设它将按字典顺序(字母顺序)或目录顺序(可能看起来是任意顺序)列出文件。如果您想要其他顺序,则需要找到某种方法来指定。)然后处理该文件(例如,使用脚本,待定)以替换出现的、bogus.target 、等。然后执行1.txt2.txt3.txt

mmv < /tmp/mmv.list

注意事项:我还没有尝试过这个(因为正如我所说,我什至没有该软件)。您可能应该先对一些不重要的文件进行试运行,和/或在执行此操作之前备份所有文件。

另请注意,这可能至少与您链接的问题的一些答案一样多。正如我所说,我提供此建议只是为了防止您特别想使用mmv.

PS 我的回答(上面)部分受到启发这个

相关内容