Хотя мне пришлось удалить последнюю запятую во входных данных Вашего примера, чтобы он заработал, потому что jq
жаловался на ожидание другого элемента массива, это:
INPUT | jq -r '[.[][].displayName], [.[][].value]| join(", ")'
... заставило меня.....
First Name, Last Name, Position, Company Name, Country
VALUE, VALUE, VALUE, VALUE, VALUE
Как это работает в двух словах:
[]
индексного поля и .dot
нотацию. .[][][].displayName
. [.[][].displayName], [.[][].value]
join(", ")
, чтобы они были объединены как отдельные сущности. На самом деле выполнение [.field]
- это всего лишь другой путь к map(.field)
, но это немного более специфический способ, так как он задает уровень глубины для получения желаемых данных.
Предположим, что нашли
3 файла: a, b и c. В результате было найдено 3 команды:
mv a /myhome/targetdir
mv b /myhome/targetdir
mv c /myhome/targetdir
так, a была переименована в /myhome/targetdir, затем b была переименована в /myhome/targetdir (уничтожение того, что раньше было a), а затем c была переименована в /myhome/targetdir, уничтожение того, что раньше было b. Файл c в порядке (он только что был переименован). Остальные файлы в беде. Взгляните на Можно ли восстановить перезаписанные файлы?. Возможно, вы сможете что-то восстановить.
В будущем, использование:
mv -t /myhome/targetdir '{}'
было бы безопаснее.