在 linux 中从 bash 重命名文件

Ser*_*gey 4 bash sort rename time files

有一堆以下格式的文件 hh-mm-ss.png 其中 hh、mm、ss 是小时、分钟和秒。如何按顺序从 1.png 到 n.png 重命名目录中的所有这些文件,以便所有文件按小时、分钟和秒排序。例如,

12-56-11.png -> 3.png
11-13-49.png -> 1.png
12-55-55.png -> 2.png
Run Code Online (Sandbox Code Playgroud)

cho*_*oba 6

这是使用for循环和 bash 算法的解决方案:

i=1
for file in ??-??-??.png ; do
    mv "$file" $i.png
    let i++
done
Run Code Online (Sandbox Code Playgroud)

  • 您应该注意,这仅适用于 bash 按照 Sergey 要求的顺序扩展“??-??-??.png”。也就是说,“hh-mm-ss”按 bash 扩展按词法顺序排序,但这恰好对应于升序时间戳顺序。 (3认同)