重命名目录中所有文件的通用方法

重命名目录中所有文件的通用方法

我一直在用find -exec或解析 ls 或使用 bash 通配符等为此制作简单的 bash 函数,每次我遇到大问题时,我不得不转向一种新方法,一次是参数列表太长,另一次是已经有名称的文件,例如2当另一个文件被重命名为时被覆盖2

一次是 unicode 的问题,一次是文件名中的空格,一次是文件名中的*&等等。所以我想来这里向大家请教最有效、最强大的通用方法,以便将目录中的所有文件重命名为具有连续名称无论!。无论文件的名称有多长,无论它们的原始名称是什么或扩展名是什么,也无论它们是否包含非 ASCII 字符。

所以我的要求是:

  1. 它可以处理长文件名。
  2. 它适用于Unicode字符。
  3. 如果文件中有空格或特殊字符,它就可以起作用。
  4. 它不会覆盖另一个文件上的任何文件。
  5. 尽可能快:D

答案1

如果您的 Ubuntu 不是服务器,请不要将其视为服务器。默认 Ubuntu 存储库中的 pyRenamer 具有您正在寻找的所有功能,包括正则表达式支持,而且由于它是一个 GUI 程序,因此您无需费尽心思弄清楚如何使用它。如果您在编写正则表达式时遇到困难,您可以在正则表达式。不要让自己对为此类用例创建的 GUI 程序产生偏见。

pyRenamer 可从 Ubuntu 16.04 及更早版本的默认 Ubuntu 存储库中获得。在 Ubuntu 18.04 及更高版本中,pyRenamer 已被替换为GP重命名

相关内容