-3

我想解析这个 JSON 文件

用第二列作为 Canonical SMILES 和第三列作为 Isomeric SMILES 得到类似的东西。

5317139<TAB><TAB>CCCC=C1C2=C(C3C(O3)CC2)C(=O)O1<TAB>CCC/C=C\\1/C2=C(C3C(O3)CC2)C(=O)O1

有人可以告诉我如何在 jq 中以最好的方式做到这一点吗?

4

1 回答 1

0

以下 jq 脚本(使用 -r 命令行选项运行)满足规定的要求,假设 的出现<TAB><TAB>是拼写错误:

def getString($TOCHeading):
  .. | objects | select( .TOCHeading == $TOCHeading)
  | .Information[0].Value.StringWithMarkup[0].String;

.Record
| [.RecordNumber,
   getString("Canonical SMILES"),
   getString("Isomeric SMILES")]
| @tsv

该脚本产生:

5317139 CCCC=C1C2=C(C3C(O3)CC2)C(=O)O1  CCC/C=C\\1/C2=C(C3C(O3)CC2)C(=O)O1
于 2019-10-31T06:50:07.400 回答