我是,基于一个模板生成20 000个文件。这些文件包含两个对象:
hanzi);pinyin)。这个部分工作得很好,然后我要:
hanzi;pinyin对齐到右边hanzi和pinyin <svg:text> 转换为 <svg:path>,然后转换为。
有以下选择:
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节流阀是为每个文件Inkscape 打开/关闭。
注:我正在使用Inkscape 0.48.4 r9939 (2014年1月22日)
问题
Inkscape实例中处理多个文件吗?Align*动词的替代方法是什么,因为它们在inkscape --verbs-list中不可用?参考文献
发布于 2014-10-26 12:50:51
我根本不知道Inkscape,但我认为你的问题是它太慢了--尽管你没有明确地这样说。不管怎样,你也许可以试试这样的GNU Parallel:
parallel -j 8 ./process {} ::: *.svg这将使8个作业并行运行,直到所有20,000个文件都被处理。{}是文件名的缩写,文件名列表是在:::之后给出的。如果您的命令行也有其他可能的文件,您可以像这样在stdin上输入它们
find . -name "*.svg" | parallel -j 8 ./process {}然后,将Inkscape命令包装在一个名为process的脚本中,并使其可执行(使用chmod +x process),并使它接受一个参数,即文件名。
无论如何,我想这是值得一试的--使用一个小的复制的示例文件夹,直到您对GNU Parallel有信心为止。
https://stackoverflow.com/questions/26572397
复制相似问题