我正在尝试运行一个查看一组文件夹的程序,并在其中找到一种文件。文件的格式是这个
MAIN
SUBDIR01
FILE01.TXT
FILE02.TXT
SUBDIR02
FILE03.TXT
FILE04.TXT
问题是程序运行的文件和目录很多。并且,在编写时,程序会搜索.txt文件。区分大小写,它没有找到。我的简单解决方法是重新编写程序以搜索.TXT并解决问题。我还发现,如果我位于包含文件的目录中,则可以使用“rename”和“mv”批量重命名文件。但是,还没有找到一种让我进入MAIN目录并让批量更改通过一组文件夹的方法。
我发现最接近的是找到。 -name“* .TXT”将打印出所有这些。
我觉得我非常接近,所以我想知道是否有人可能会知道这个问题的解决方案。不使用上述工作。谢谢你的帮助。
答案 0 :(得分:0)
您可以使用find
找到文件并打印名称,然后将xargs
与rename
结合使用以进行实际重命名。为避免文件和目录名称包含空格的问题,您应使用-print0
而不是-print
来查找并添加-0' to the
xargs`命令行。请参阅下面的示例。
find . -name '*.TXT' -print0 | xargs -0 rename 's/.TXT/.other/'