Используйте 7z rn
, чтобы переименовать файлы в архиве так, чтобы они имели косую черту. Затем, когда вы распаковываете архив, будут созданы каталоги.
Чтобы переименовать файлы, перечислите пути к файлам в архиве, содержащие косые черты, и создайте список строк замены, которые заменяют обратную косую черту на косую черту, используя, например, awk
.
7z rn windows.zip $(7z l windows.zip | grep '\\' | awk '{ print $6, gensub(/\\/, "/", "g", $6); }' | paste -s)
Следующий вывод выводит 2 строки со строковым форматом, показанным в последней строке, который вы можете легко изменить:
jq -M -r '.[] | keys[] as $var |
[.[$var].free[0],.[$var].total_size[0]] as [$f,$t] |
"device_name \($var) free \($f) total_size \($t)" '
выход:
device_name C:| free 18707755008 total_size 55832473600
device_name D:| free 10178084864 total_size 21471686656
Используйте это:
jq '.logical["D:|"].free[0],.logical["D:|"].total_size[0]' file.json
10178084864
21471686656