我需要复制一个文件并根据 json 文件中的值重命名它:
info.json
{
"folderName": "berlin"
}
要从 json 中获取,folderName
我可以使用:
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
无需用引号括起来。$(...)