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

有没有办法更改Linux中分布在大容量目录中的大容量文件的文件类型?,linux,rename,bulk,Linux,Rename,Bulk,我正在尝试运行一个程序,该程序可以查看一组文件夹,并在其中找到一种类型的文件。文件的格式如下 主要 细分市场01 FILE01.TXT FILE02.TXT 细分市场02 FILE03.TXT FILE04.TXT 问题是程序运行的文件和目录很多。而且,在编写时,程序会搜索.txt文件。由于区分大小写,它找不到任何内容。我的简单解决方法是重新编写程序来搜索.TXT并解决问题。我还发现,如果我位于包含文件的目录中,“rename”和“mv”可以用于批量重命名文件。但是,我还没有找到一种方法,让我在

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

主要

细分市场01

FILE01.TXT

FILE02.TXT

细分市场02

FILE03.TXT

FILE04.TXT

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

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


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

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

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

find MAIN-type d-print
将为您提供目录列表。在该列表上循环,
cd
到目录,然后对该目录的文件使用
mv
命令。然后
cd..
返回MAIN。循环下一个。如果没有代码,您将得到这样的一般响应@请包括所需的输出。重命名后的文件名应该是什么?我不明白为什么会被否决,这似乎是一个合法的问题。另外,我想我已经很清楚了,问题是文件被标记为.TXT,需要标记为.TXT