【问题标题】:extraction of multiple occurrences of variable data from large string从大字符串中提取多次出现的变量数据
【发布时间】:2022-01-23 16:32:04
【问题描述】:

我在一个文本文件中有一个很长的字符串。
它基本上是下面的字符串重复了大约 1000 次(作为一个长字符串,而不是 1000 个字符串)。
字符串具有随着每次重复而变化的变量(粗体)。
我想以自动方式提取变量,并将输出返回到 CSV 或格式化的 txt 文件(Random Bank, Random Rate , 随机产品)
我可以使用https://regex101.com 成功完成此操作,但它涉及大量手动复制和粘贴。
我想编写一个 bash 脚本来自动提取信息,但有尝试各种 grep 命令时运气不佳。
如何做到这一点? (我也会考虑用 Java 做)。

[{"AccountName":"随机产品","AccountType":"Variable","AccountTypeId":1,"AER":随机率,"CanManageByMobileApp":false,"CanManageByPost":true,"CanManageByTelephone":true,"CanManageInBranch":false,"CanManageOnline":true,"CanOpenByMobileApp":false,"CanOpenByPost":false,"CanOpenByTelephone":false, "CanOpenInBranch":false,"CanOpenOnline":true,"Company":"随机银行","Id":"S9701Monthly","InterestPaidFrequency":"Monthly"

【问题讨论】:

标签: java regex string bash terminal


【解决方案1】:

这是 JSON 格式的数据,您无法使用正则表达式引擎进行解析。获取 JSON 解析器。如果此文件大于 1GB,请找到一个可以让您“流式传输”的文件(这是解析它并在解析时处理数据的术语,而不是更常见的将整个输入转换为对象的路径;如果文件很大,则该对象会很大,可能会耗尽内存 - 因此您需要流方面)。

Here is one tutorial for Jackson-streaming.

【讨论】:

  • 这帮我解决了。我最终用 JQ 来解析信息,并通过 awk 和 grep 的组合,提取了我需要的数据。
猜你喜欢
  • 2020-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多