我想遍历给定目录中的文件。我尝试过使用for循环同样的方法...但是我在这个循环中有另一个循环,我需要读取多个文件,直到该条件在一次循环中为真时才可以上载...但是随着内部循环的实现,我由于文件迭代器循环位于内部循环之外,因此只能访问一个文件。有没有类似file.getNext的东西,这样我就可以在不使用索引/循环的情况下访问循环中的文件数量。
我需要这样的东西:
while [ count -le $uploadRate ]
do
files="$files,directory.getNextFile"
$(curl -o $log_Path -T "{$files}" url)
done
$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个文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句