如何从Linux命令行纵向连接SVG文件?

我有一系列的方形SVG文件,我想纵向排列成一个超长的SVG文件。

我试图用imagemagick来组合它们。 基于此页面: http : //linux.about.com/library/cmd/blcmdl1_ImageMagick.htm

和这个

http://www.imagemagick.org/Usage/compose/

我试过这个命令

composite 'file1.svg' 'file2.svg' +adjoin 'outputfile.svg'

但是,我收到以下错误消息: composite: unrecognized option '+adjoin' @ error/composite.c/CompositeImageCommand/565.

我尝试了其他imagemagick命令(转换,显示),但没有成功。 我怎样才能在命令行上结合这些文件? 有没有这样的inkscape命令?

Solutions Collecting From Web of "如何从Linux命令行纵向连接SVG文件?"

目前没有简单的方法来做到这一点只有命令行和没有自定义脚本。

目前我能找到的最近预写的东西(4-16-2012)是https://github.com/astraw/svg_stack ,它可以让你编写下面的命令:

svg_stack.py --direction=h --margin=100 red_ball.svg blue_triangle.svg > shapes.svg

连接。

如果你愿意使用脚本语言,这应该很容易。 对于每个文件,只需为所有的id标签添加一个前缀; 所以在文件1中, id="circle"变为id="file1_circle" ,而在文件2中, id="circle"变成id="file2_circle"

在大多数情况下,你会逃避一个简单的搜索和替换(找到id="并替换为id="fileX_ ),虽然有可能有这种情况下,这将无法正常工作(特别是如果该查找字符串出现在一个项目例如文本)。

如果你想这样做“正确的方式”,你需要一个XML解析器(如PHP中的XMLReader)。