次の形式に変換できるかどうかを知りたいです。
{"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
オプションを使用して)ファイル全体を読み取ろうとしません。遅い、ファイルサイズに関係なくブロックしないでください。