代码之家  ›  专栏  ›  技术社区  ›  Jacob Breckenridge

有没有办法更改Linux中跨大容量目录分布的大容量文件的文件类型?

  •  -1
  • Jacob Breckenridge  · 技术社区  · 7 年前

    我正在尝试运行一个程序,该程序可以查看一组文件夹,并在其中找到一种类型的文件。文件的格式如下

    主要

    细分市场01

    FILE01.TXT

    FILE02.TXT

    细分市场02

    文件03.TXT

    文件04.TXT

    问题是程序运行的文件和目录很多。而且,正如编写的那样,程序会搜索。txt文件。由于区分大小写,它找不到任何内容。我的简单解决方法是重新编写要搜索的程序。TXT和问题已解决。我还发现,如果我位于包含文件的目录中,则可以使用“rename”和“mv”批量重命名文件。但是,我还没有找到一种方法,让我在主目录中,并通过一组文件夹进行批量更改。

    我找到的最接近的东西是找到-名称“*.TXT”将打印出所有内容。

    我觉得我已经很接近了,所以我想知道是否有人会马上知道这个问题的解决方案。不使用上述变通方法。谢谢你的帮助。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Johan    7 年前

    您可以使用 find 查找文件并打印名称,然后使用 xargs 结合 rename 进行实际重命名。要避免包含空格的文件名和目录名出现问题,应使用 -print0 而不是 -print 使用查找和添加 -0' to the xargs `命令行。请参见下面的示例。

    find . -name '*.TXT' -print0 | xargs -0 rename 's/.TXT/.other/'