Grosseiramente,
#!/bin/sh
set -- *.md
while [ $# -gt 0 ]
do
pandoc "${1} -f markdown ${1%.md}.pdf" &
shift
if [ $# -gt 0 ]
then
pandoc "${1} -f markdown ${1%.md}.pdf" &
shift
fi
wait
done
Com xargs:
find . -type f -name '*.md' -print0 | xargs -0 -n2 -P2 -I{} pandoc {} -f markdown {}.pdf
você teria que renomeá-los depois, já que o resultado acima resultaria em arquivos chamados a.md.pdf, b.md.pdf, etc. Observe que, para estar seguro com nomes de arquivos, estamos pedindo para find
imprimir nomes de arquivos separados por nulos e pedindo que xargs
leia em entrada separada por nulo. Renomeie os arquivos com:
for f in ./*.md.pdf; do mv -- "${f}" "${f%.md.pdf}.pdf"; done