我想解析这个 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 中以最好的方式做到这一点吗?
我想解析这个 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 中以最好的方式做到这一点吗?
以下 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