限制for循环中的后台作业数量

限制for循环中的后台作业数量

我有一个非常简单的脚本,它将所有子文件夹中的所有文件重新混合到mkv

#!/bin/bash

# Works with subfolders too

shopt -s nullglob
shopt -s extglob
shopt -s nocaseglob
shopt -s globstar


for file in "${1%/}/"**/*(*.mp4|*.avi); do

mkvmerge -v -M -B --no-chapters --disable-language-ietf --engage no_cue_duration --engage no_cue_relative_position --clusters-in-meta-seek --disable-lacing --engage no_simpleblocks "$file" -o "${file%.*}".mkv &

done

如何将后台作业批量限制为 300 个?这意味着我想以 300 个文件为一组运行此命令,并等待它们完成/等待 X 时间并开始新的批次

相关内容