обратный слэш unescape в выводе jq - PullRequest
0 голосов
/ 04 ноября 2019

https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/cid/5317139/property/IsomericSMILES/JSON

Для вышеупомянутого JSON следующий jq печатает 5317139 CCC/C=C\\1/C2=C(C3C(O3)CC2)C(=O)O1.

.PropertyTable.Properties
| .[]
| [.CID, .IsomericSMILES]
| @tsv

Но есть два \ перед первым 1. Это неправильно, три должны быть только одним \? Как получить правильный номер обратной косой черты?

1 Ответ

1 голос
/ 04 ноября 2019

Дополнительная обратная косая черта в выходных данных является результатом запроса на создание TSV, поскольку «\» играет особую роль в TSQ jq (например, «\ t» означает символ табуляции).

Для сравнения рассмотрим:

jq -r '
  .PropertyTable.Properties
  | .[]
  | [.CID, .IsomericSMILES]
  | join("\t")' smiles.json
5317139 CCC/C=C\1/C2=C(C3C(O3)CC2)C(=O)O1
...