commit
e233c4e449
@ -0,0 +1,27 @@
|
||||
# copy this to root directory of data and
|
||||
# chmod a+x convert.sh
|
||||
# ./convert.sh
|
||||
# https://unix.stackexchange.com/questions/103920/parallelize-a-bash-for-loop
|
||||
dir=$1
|
||||
open_sem(){
|
||||
mkfifo pipe-$$
|
||||
exec 3<>pipe-$$
|
||||
rm pipe-$$
|
||||
local i=$1
|
||||
for((;i>0;i--)); do
|
||||
printf %s 000 >&3
|
||||
done
|
||||
}
|
||||
run_with_lock(){
|
||||
local x
|
||||
read -u 3 -n 3 x && ((0==x)) || exit $x
|
||||
(
|
||||
( "$@"; )
|
||||
printf '%.3d' $? >&3
|
||||
)&
|
||||
}
|
||||
N=32 # number of vCPU
|
||||
open_sem $N
|
||||
for f in $(find ${dir} -name "*.m4a"); do
|
||||
run_with_lock ffmpeg -loglevel panic -i "$f" -ar 16000 "${f%.*}.wav"
|
||||
done
|
Loading…
Reference in new issue