我想迭代给定目录中的文件。我尝试使用 for 循环进行相同的操作...但是我在这个循环中还有另一个循环,我需要读取多个文件,直到该循环中的条件为真才能一次上传...但是在内部循环中我是由于文件迭代器循环位于内部循环之外,因此只能访问一个文件。
是否有类似 file.getNext 之类的东西,以便我可以在不使用索引/循环的情况下访问循环内的文件数量。
我需要这样的东西:
while [ count -le $uploadRate ]
do
files="$files,directory.getNextFile"
$(curl -o $log_Path -T "{$files}" url)
done
where $files
一次上传的文件数量
我不想将文件加载到数组中,因为目录中有大量文件,因此数组不是可行的选择,所以想像 getNext 文件一样迭代目录。
您可以像这样保持外循环以读取目录中的所有文件/目录/somedir/
:
filesToBeRead=5
chunkFiles=()
for f in /somedir/*; do
chunkFiles+=( "$f" )
if [[ ${#chunkFiles[@]} -eq 5 ]]; then
processChunkFiles( "${chunkFiles[@]}" )
chunkFiles=()
fi
done
processChunkFiles( "${chunkFiles[@]}" )
PS:你需要写一个processChunkFiles
处理/处理 5 个文件的函数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)