lean-cli icon indicating copy to clipboard operation
lean-cli copied to clipboard

提供一个命令 split 来拆分导出的大 JSON 文件?

Open killme2008 opened this issue 8 years ago • 1 comments

我们现在数据导出的文件,单个文件可能超过 20M,导致用户要导入的时候,无法导入,我们是否可以在命令行提供一个命令,来协助用户拆分这个文件。导出的文件格式都是:

{ "results": [
  json对象1,
  json对象2,
  .....按行显示的对象列表...
]}

参考(linux only)

#!/bin/bash
if [ "$#" -ne 1 ] || ! [ -f "$1" ]; then
  echo "Usage: $0 File" >&2
  exit 1
fi

filesize=$(python -c "import os; print os.path.getsize(\"$1\")")
SPLIT_THRESHOLD=18874368 #18M

if [ $filesize -gt $SPLIT_THRESHOLD ] ; then
    lines=$(wc -l $1 | awk -F' ' '{print $1}')
    split_files=$(($filesize/15728640)) #15M
    echo $split_files
    split_lines=$((($lines+1)/$split_files))

    filename=$(basename "$1")
    split --additional-suffix='.json' -d -l $split_lines $1 $filename
fi

killme2008 avatar Feb 10 '17 07:02 killme2008

可以参见 第三方命令? 感觉这个 第三方命令 简直就是一个万金油

dlmyb avatar Sep 08 '17 07:09 dlmyb