如何向已包含数字的文件名添加零填充?

Que*_*ner 9 rename batch-rename

我使用 Sound Juicer 翻录了一张音频 CD,作为语言学习书,这样我就可以在我的 Android 上收听它们。但是,Sound Juicer 似乎只有不带前导零的文件编号选项。像这样:

track_1.mp3
track_10.mp3
track_11.mp3
Run Code Online (Sandbox Code Playgroud)

这导致我的音乐播放器上的排序有些混乱。因此,我想在名称中添加一些零,以便正确排序,如下所示:

track_01.mp3
track_02.mp3
track_03.mp3
Run Code Online (Sandbox Code Playgroud)

我该如何实现?我尝试使用 GPRename,但是虽然它能够添加数字,但它似乎没有任何添加前导零的选项。

有没有更好的程序或我可以在命令行上做的事情?

Ala*_*Ali 10

我假设您只需要重命名文件 1-9,因为这些文件需要填充。有多种方法可以做到这一点。

您可以执行以下命令:

for n in $(seq 9); do mv track_$n.mp3 track_0$n.mp3; done;
Run Code Online (Sandbox Code Playgroud)

这将重命名曲目track_1.mp3-track_9.mp3track_01.mp3- track_09.mp3


分解它,它看起来像这样:

for n in $(seq 9)
do
    mv track_$n.mp3 track_0$n.mp3
done
Run Code Online (Sandbox Code Playgroud)
  • for n in $(seq 9): 对于命令输出中的每个数字seq 9,这是一个只列出数字 1 到 9 的命令do
  • mv track_$n.mp3 track_0$n.mp3:这是重命名文件的实际命令。它替代了n遍历所有数字的值。所以它会mv track_1.mp3 track_01.mp3, mv track_2.mp3 track_02.mp3, 直到最后一个数字是 9。