Вставьте значение из файла JSON в путь к имени файла
Мне нужно скопировать файл и переименовать его на основе значения из файла JSON:
info.json
{
"folderName": "berlin"
}
чтобы получить folderName
из JSON я могу использовать:
jq '.folderName' info.json
чтобы скопировать файл, который я могу использовать:
cp ~/foo.js /<folderName>/foo.js
Цель состоит в том, чтобы создать: /berlin/foo.js
Но как я могу динамически переименовать путь, используя значение berlin
из файла JSON? Желательно в одной команде?
1 ответ
Решение
Вы можете использовать подстановку команд
cp ~/foo.js /$(jq '.folderName' info.json)/foo.js
Поскольку строки JSON заключаются в кавычки по умолчанию (если jq
используется с -r
флаг необработанного вывода), нет необходимости заключать в кавычки $(...)
в этом случае.