ZenData是一款通用的数据生成工具，您可以使用yaml文件来定义您的数据格式，然后交由zendata生成。

参数：

  -d  --default    默认的数据格式配置文件。
  -c  --config     当前场景的数据格式配置文件，可以覆盖默认文件里面的设置。
  -o  --output     生成的数据的文件名。可通过扩展名指定输出json|xml|sql格式的数据。默认输出原始格式的文本数据。
  -n  --lines      要生成的记录条数，默认为10条。

  -F  --field      可通过该参数指定要输出的字段列表，用逗号分隔。 默认是所有的字段。
  -t  --table      输出格式为sql时，需通过该参数指定要插入数据的表名。
  -T  --trim       输出的字段去除前后缀，通常用在生成SQL格式的输出。
  -H  --human      输出可读格式，打印字段名，并使用tab键进行分割。
  -r  --recursive  递归模式。如不指定，默认为平行模式。平行模式下各个字段独立循环。
                   递归模式下每个字段的取值依赖于前一字段。可增强数据的随机性。

  -p  --port       在指定端口上运行HTTP服务。可通过http://ip/接口获得JSON格式的数据。服务模式下只支持数据生成。
  -b  --bind       监听的ip地址，默认监听所有的ip地址。
  -R  --root       指定数据生成命令或运行HTTP服务的根目录。客户端可调用该根目录下面的配置文件。如果不指定，取zd可执行文件所在目录。

  -i  --input      指定一个schema文件，输出每个表的yaml配置文件。需通过-o参数指定一个输出的目录。
  -D  --decode     根据指定的配置文件，将通过-i参数指定的数据文件解析成json格式。
  -a  --article    将指定的文件或目录下扩展名为.txt的文件，转换成文章yaml配置，输出到-o参数指定的目录下。

  -l  --list       列出所有支持的数据格式。
  -v  --view       查看某一个数据格式的详细定义。
  -h  --help       打印帮助。
  -e  --example    打印示例的数据格式配置文件。

命令行模式举例：

$>zd.exe -d demo\default.yaml                                        # 根据-d参数指定的配置文件生成10条记录。
$>zd.exe -c demo\default.yaml                                        # 根据-c参数指定的配置文件生成10条记录。
$>zd.exe -c demo\default.yaml -r                                     # 根据-c参数指定的配置文件，采用递归的方式生成10条记录。
$>zd.exe -d demo\default.yaml -c demo\test.yaml -n 100               # -c和-d两个文件的配置合并，输出100条记录。

$>zd.exe -d demo\default.yaml -c demo\test.yaml -n 100 -o test.txt   # 输出原始格式的数据。
$>zd.exe -d demo\default.yaml -c demo\test.yaml -n 100 -o test.json  # 输出json格式的数据。
$>zd.exe -d demo\default.yaml -c demo\test.yaml -n 100 -o test.xml   # 输出xml格式的数据。
$>zd.exe -d demo\default.yaml -n 100 -o test.sql -t user             # 输出针对user表的insert语句。
$>zd.exe -d demo\default.yaml -n 100 -o test.sql -t user --trim      # 输出针对user表的insert语句，去掉前缀和后缀。

$>zd.exe -i demo\zentao.sql -o db                                    # 根据sql的定义生成各表的yaml文件，存储到db目录里面。
$>zd.exe -c demo\default.yaml -i test.txt --decode                   # 将-i指定的文件根据-d参数的配置进行解析。
$>zd.exe -a demo\article.txt -o demo                                # 转换文章为yaml配置，输出到demo目录下。

$>zd.exe -l                                                          # 列出所有內置数据。
$>zd.exe -v address.cn.v1                                            # 查看內置Excel文件data/address/cn.v1.xlsx中的数据表。
$>zd.exe -v address.cn.v1.china                                      # 查看內置Excel文件china数据表中的数据。
$>zd.exe -v ip.v1.yaml                                               # 查看內置文件yaml/ip/v1.yaml定义的数据。

服务模式举例：

$zd.exe -p 80                                                        # 监听80端口，以zd.exe文件所在目录为根目录。
$zd.exe -p 80 -R d:\zd\config                                        # 监听80端口，以d:\zd\config为根目录。

客户端调用：

$curl http://localhost:8848/?d=demo/default.yaml&c=demo/config.yaml&n=100           # 通过GET方式指定服务器端配置文件。
$curl http://localhost:8848/?default=demo/default.yaml&output=test.sql&table=user   # 参数名可以用全拼。
$curl -i -X POST http://localhost:8848?lines=3 -F default=@demo/default.yaml        # 可以通过POST方式上传配置文件。
