每次从最后结束的地方开始 for 循环

每次从最后结束的地方开始 for 循环

我的目录中有大约 100 万张图像。文件从 1 到 n 编号。我正在使用 for 循环来迭代每个图像。由于每次迭代都是由个人检查,因此一天只能完成一定数量的迭代。当我第二天再次开始循环时,循环显然再次从第一个文件开始。

我将循环迭代的文件保存在文本文件中,并在每次循环开始之前读取文本文件的最后一行。我试图使用最后读取的文件作为 for 循环的开始。

以下是迄今为止完成的代码:

query=/ImageFolder/*.jpg
fil=$( tail -n 1 readfiles.txt )

for f in $query
    do
      python ~/runprog.py --query $f
    done

我不知道如何使用 $fil 作为 for 循环的起点,并从那里开始迭代后续文件。

答案1

如果您readfiles.txt包含所有已处理的文件,您可以用来grep查找是否已完成某个操作。

运行 python 脚本后,使用处理后的文件更新该文件。

for f in /ImageFolder/*.jpg; do
   if ! grep -q "$f" readfiles.txt; then 
      python ~/runprog.py --query "$f"
      echo "$f" >> readfiles.txt
   fi
done

相关内容