我得到了一个大的json文件,每个值中都有要修改的文本。如果我们查看第一个条目,它看起来像:
$ cat description6fr.json | jq '.[0].fr'
SomethingnSomethingsnnSomethingnnSomething
如何在第一个\n\n之前剪切所有内容?我确实用sed和awk尝试了很多东西,但欢迎帮助。谢谢
您可以使用index
来查找匹配项,然后对其进行切片:
jq '.[0].fr | .[index("nn") + 2:]' description6fr.json
如果字符串与nn
不匹配,这将截断前两个字符,因此您可能更喜欢以下内容:
jq '.[0].fr| if index("nn") then .[index("nn") + 2:] else . end' description6fr.json
你可以用参数化
jq --argjson s '"nn"' 'if index($s) then .[index($s) + 2:] else . end'