【发布时间】:2018-10-09 16:13:20
【问题描述】:
我需要重命名此结构中的文件:
Dir1
--file1
--file2
-- ...
Dir2
--file1
--file2
-- ...
...
Dir62
--file1101
--file1102
-- ...
新名称将是第一个目录中的 1_01,1_02 和第二个目录中的 2_01,2_02 等等...
有没有办法一次性完成...
目前,我正在使用:
ls | cat -n | while read n f; do mv "$f" "10_$n.png"; done
一次在 1 个目录中工作...
请问有更好的方法吗?
【问题讨论】:
-
这太疯狂了。为什么要这么做?这些文件将以任意名称结束,其中包含一个前缀,该前缀取决于
ls的排序顺序,并且与包含该文件的目录的名称无关,而后缀与其原始名称失去任何关系。 -
因此,如果列出的第一个目录是
Dir7,并且其中的第一个文件是file8,它将最终成为Dir7/1_01... -
@MarkSetchell,我必须重命名这些文件以进行机器学习。为此,他们的名字应该采用某种格式。文件的顺序无关紧要,直到它们留在自己的目录中......