bash - How to process 20k SVG files with Inkscape CLI mode ? (align and merge objects) -
i'm generating ~20 000 files based on template. files contains 2 objects:
a chinese character (hanzi) ; its pronunciation (pinyin). this part working nicely, to:
alignhanzi left ; align pinyin right merge hanzi , pinyin this imply first convert <svg:text> <svg:path> with next options:
class="lang-bash prettyprint-override">inkscape -f file.svg \ --select=hanzi --verb=alignhorizontalleft --verb=editdeselect \ --select=pinyin --verb=alignhorizontalright --verb=editdeselect \ --select=hanzi --select=pinyin \ --verb=alignverticalcenter --verb=selectionunion \ --verb=filesave --verb=filequit the throttle open/close inkscape each file.
n.b.: i'm using inkscape 0.48.4 r9939 (jan 22 2014)
inkscape instance ? what alternative align* verbs not available in inkscape --verbs-list ? reference original source code
i not know inkscape @ all, think issue is slow - though not explicitly. anyway, maybe seek gnu parallel this:
parallel -j 8 ./process {} ::: *.svg that maintain 8 jobs running in parallel till 20,000 files processed. {} short-hand filename, , list of filenames given after :::. if there may files command line, can feed them in on stdin:
find . -name "*.svg" | parallel -j 8 ./process {} then wrap inkscape command in script called process , create executable (using chmod +x process) , create take single parameter - i.e. filename.
i guess worth seek anyway - utilize little copied folder of samples till confident gnu parallel.
bash optimization svg inkscape
No comments:
Post a Comment