此 Bash 脚本的增量输出



我可以更改此脚本以获得增量输出文件吗?下面是脚本:

#!/usr/bin/env bash
## Collect all files in the files array
files=( *jpg )
## How many should be done at once
batch=5
## Read the array in batches of $batch
for (( i=0; $i<${#files[@]}; i+=$batch ))
do   
## Convert this batch   
convert -delay 10 -morph 10 "${files[@]:$i:$batch}" $i.jpg
done

现在的输出是这样的:

0-0.jpg
1-3.jpg
1-30.jpg
12-3.jpg

并且无法排序。

以下代码应按创建顺序重命名文件。

#!/bin/bash
# modify the ls statement to include files you need
files=(`ls --sort=time -r *.jpg`)
for (( i=0; $i<${#files[@]}; i+=1 ))
do
 numStr=`printf "%05dn" $i`
 # debug output
 echo "${files[i]} --> $numStr"
 mv "${files[i]}" "${numStr}.jpg"
done

相关内容

  • 没有找到相关文章

最新更新