admin管理员组

文章数量:1794759

Trdsql

Trdsql 是一个轻量级的命令行工具,它能让你直接使用 SQL 语句对 CSV 和 JSON 文件进行处理。对于那些已经熟悉 SQL 语法的用户来说,trdsql 几乎不需要任何额外的学习成本,可以轻松上手。

通过这一工具,用户可以快速地查询、过滤和操作数据文件,从而省去学习新语言或工具的时间。对于时间有限的开发者或数据分析师来说,trdsql 无疑是一种高效的解决方案。

举例来说,您可以使用 trdsql 直接在 CSV 文件上执行 SQL 查询:

代码语言:bash复制
# cat test.csv 
1,Orange
2,Melon
3,banana

# ./trdsql "SELECT * FROM test.csv"
1,Orange
2,Melon
3,banana

通过 -id 参数,还可以指定 CSV 文件的分隔符。例如,下面的命令将使用制表符作为分隔符来读取文件:

代码语言:bash复制
# cat test2.csv 
1	Orange
2	Melon
3	Apple
# 
# ./trdsql -id "\t" "SELECT * FROM test2.csv"
1,Orange
2,Melon
3,Apple

trdsql 还支持 JSON 文件的直接查询处理,只需使用 -ijson 参数指定输入文件的格式即可:

代码语言:javascript代码运行次数:0运行复制
# jq . test.json 
[
  {
    "id": "1",
    "name": "Orange",
    "price": "50"
  },
  {
    "id": "2",
    "name": "Melon",
    "price": "500"
  },
  {
    "id": "3",
    "name": "Apple",
    "price": "100"
  }
]

# ./trdsql -ijson "SELECT * FROM test.json"
50,1,Orange
500,2,Melon
100,3,Apple

不仅如此,trdsql 还能够提取 JSON 文件中的嵌套字段。例如,在如下命令中,trdsql 从 JSON 文件中提取了 attribute 字段中的 country 和 color 子字段:

代码语言:javascript代码运行次数:0运行复制
# jq . test2.json 
[
  {
    "id": 1,
    "name": "Drolet",
    "attribute": {
      "country": "Maldives",
      "color": "burlywood"
    }
  },
  {
    "id": 2,
    "name": "Shelly",
    "attribute": {
      "country": "Yemen",
      "color": "plum"
    }
  },
  {
    "id": 3,
    "name": "Tuck",
    "attribute": {
      "country": "Mayotte",
      "color": "antiquewhite"
    }
  }
]


# ./trdsql -ijson "SELECT * FROM test2.json"
1,Drolet,"{""color"":""burlywood"",""country"":""Maldives""}"
2,Shelly,"{""color"":""plum"",""country"":""Yemen""}"
3,Tuck,"{""color"":""antiquewhite"",""country"":""Mayotte""}"
 
 
# ./trdsql -ijson "SELECT id, name, JSON_EXTRACT(attribute, '$.country'), JSON_EXTRACT(attribute, '$.color') FROM test2.json"
1,Drolet,Maldives,burlywood
2,Shelly,Yemen,plum
3,Tuck,Mayotte,antiquewhite

总结

使用 trdsql,您可以轻松地在命令行中完成这些操作,无需安装庞大的数据库系统或配置复杂的工具。

本文标签: Trdsql