我需要重命名大约。70,000 个文件。例如:从sb_606_HBO_DPM_0089000
到sb_606_dpm_0089000
等。
数字范围从0089000
到0163022
。这只是名称的第一部分需要更改。所有文件都在一个目录中,并按顺序编号(图像序列)。数字必须保持不变。
当我在 bash 中尝试此操作时,它对我说“参数列表太长”感到恼火。
编辑:
我首先尝试使用以下命令重命名单个文件mv
:
mv sb_606_HBO_DPM_0089000.dpx sb_606_dpm_0089000.dpx
Run Code Online (Sandbox Code Playgroud)
然后我尝试重命名一个范围(我上周在这里学到了如何移动大量文件,所以我认为相同的语法可能适用于重命名文件......)。我想我尝试了以下(或类似的):
mv sb_606_HBO_DPM_0{089000..163023}.dpx sb_606_dpm_0{089000..163023}.dpx
Run Code Online (Sandbox Code Playgroud) 在我的父目录中,我有 78,160 个文件。
文件名是:sb_604_dpm_0089000.dpx、sb_604_0089001.dpx 等。
我想将文件移动到 4 个子目录 subdir1、subdir2、subdir3、subdir4。每个目录中必须按顺序正好有 20,000 个文件。
是否可以将一定范围的文件从父目录移动到子目录,即 sb_604_dpm_0089000.dpx 到 sb_604_dpm_0108,999.dpx 文件到 subdir1 sb_604_dpm_0109000.dpx 到 subdir1 sb_604_dpm_0109000.dpx 到 subdir_60912dpx 到 subdir1 sb_609000.dpx 到子目录 sb_604_dpm_0089000.dpx
最终文件夹将仅包含前 60,000 个文件之后的剩余文件。
所有这些都应该使用批处理文件来完成,理想情况下能够在移动进行之前指定/检查范围。这可能吗?
在 DOS 中,我可能可以为自己编写批处理文件来解决这个问题,但是对于 Linux,我有点迷茫......我不是程序员,我只是一个寻找更快/更好方法的 Linux 用户这样做而不是 GUI,所以任何帮助表示赞赏。请尽可能简单!
提前致谢!