大容量JSONファイル形式の変換

大容量JSONファイル形式の変換

次の形式に変換できるかどうかを知りたいです。

{"timestamp":"1579053433","name":"1.10.207.64","value":"node-fnk.pool-1-10.dynamic.totinternet.net","type":"ptr"}
{"timestamp":"1579067130","name":"1.10.207.65","value":"node-fnl.pool-1-10.dynamic.totinternet.net","type":"ptr"}
{"timestamp":"1579098581","name":"1.10.207.66","value":"node-fnm.pool-1-10.dynamic.totinternet.net","type":"ptr"}

そしてついに得る

1.10.207.64-1.10.207.64::node-fnk.pool-1-10.dynamic.totinternet.net;
1.10.207.65-1.10.207.65::node-fnl.pool-1-10.dynamic.totinternet.net;
1.10.207.66-1.10.207.66::node-fnm.pool-1-10.dynamic.totinternet.net;

JSONファイルサイズは127 GB、行1,267,984,961です。各行で変更される唯一のことは、IPとホスト名です。

ベストアンサー1

試してみてくださいjq。たとえば、\(...)文字列補間を使用して

jq -r '"\(.name)-\(.name)::\(.value);"' file.json

私が知っている限り、明示的に指示しない限り(-s/--slurpオプションを使用して)ファイル全体を読み取ろうとしません。遅い、ファイルサイズに関係なくブロックしないでください。

おすすめ記事