Размер блока по умолчанию составляет всего 512 байт, что значительно снижает скорость передачи. Вы должны использовать размер блока, который намного больше.
В OSX Daily есть пошаговые инструкции , они предлагают 1 МБ, но вы можете попробовать еще больше.
sudo dd if=/path/image.iso of=/dev/r(IDENTIFIER) bs=1m
Учитывая документ JSON, который вы показываете:
$ jq -r 'path(.[][][]) as $p | "\($p|join(":")):\(getpath($p).MeltingPoint):\(getpath($p).BoilingPoint)"' file.json
Metals:AlkaliMetals:Lithium:453:1615
Metals:AlkaliMetals:Sodium:371:1156
Metals:AlkalineEarthMetals:Beryllium:1560:2743
Metals:AlkalineEarthMetals:Magnesium:923:1363
Metalloids:Metaloids:Boron:2348:4273
Metalloids:Metaloids:Silicon:1687:3173
Это перебирает «пути» всех объектов на уровне 3 документа (, то есть пути к структурам Lithium
, Sodium
и т. д. )как $p
. Каждый $p
представляет собой массив, подобный ["Metals","AlkaliMetals","Sodium"]
. Он использует текущий путь для создания начальной части каждой выходной строки, соединяя путь с :
в качестве разделителей. Фактические температуры кипения и плавления извлекаются с помощью getpath()
из текущего пути, а значения добавляются в конец строки.
Похоже, это также работает с большим файлом, на который вы ссылаетесь, но выводит null
для отсутствующих данных о температуре.