小编ric*_*ich的帖子

使用 bash 重命名大量图像文件

我需要重命名大约。70,000 个文件。例如:从sb_606_HBO_DPM_0089000sb_606_dpm_0089000等。

数字范围从00890000163022。这只是名称的第一部分需要更改。所有文件都在一个目录中,并按顺序编号(图像序列)。数字必须保持不变。

当我在 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)

command-line bash batch-rename

16
推荐指数
6
解决办法
2664
查看次数

将一系列编号的文件移动到新目录

在我的父目录中,我有 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,所以任何帮助表示赞赏。请尽可能简单!

提前致谢!

command-line

1
推荐指数
1
解决办法
1788
查看次数

标签 统计

command-line ×2

bash ×1

batch-rename ×1