Random jq:在字段中生成UUID
我需要用UUID唯一地标记记录(对于关联id)。我看不到一个直接的方法,通过选项来做这件事,这是可能的吗?如果没有,是否有某种解决方法可以做到这一点Random jq:在字段中生成UUID,random,jq,uuid,Random,Jq,Uuid,我需要用UUID唯一地标记记录(对于关联id)。我看不到一个直接的方法,通过选项来做这件事,这是可能的吗?如果没有,是否有某种解决方法可以做到这一点 甚至可以在jq中生成随机数或字符串吗?jq目前不支持UUID生成,因此您最好将UUID输入到jq中,例如,沿着以下路线: ruby -e 'require "securerandom"; p SecureRandom.uuid' | jq '{uuid: .}' { "uuid": "5657dd65-a495-4487-9887-c7f0e0
甚至可以在jq中生成随机数或字符串吗?jq目前不支持UUID生成,因此您最好将UUID输入到jq中,例如,沿着以下路线:
ruby -e 'require "securerandom"; p SecureRandom.uuid' | jq '{uuid: .}'
{
"uuid": "5657dd65-a495-4487-9887-c7f0e01645c9"
}
不幸的是,jq的PRNG贡献尚未正式发布。有关以jq编写的PRNG发生器示例,请参见例如rosettacode:
从UUID的无限流中读取
假设uuid生成器(如uuidgen)可用,您可以使用输入
或输入
,如下所示:
jq -nR '[range(0;10) | input]' < <(while true; do uuidgen ; done)
jq-nR'[range(0;10)| input]'<。我不可能将所有数据都存储到内存中,在处理之前,我也不一定知道文件中有多少json对象。有没有一种方法可以生成无限的UUID流,并使用jq将其连接到每个json对象而不使用slurping?我会使用--argfile(或者可能是--slurpfile)读取json,并使用一个或多个输入读取无限的UUID流,如更新后的答案所示。