如何用jq为tree输出的目录名列表元素添加前缀字符串?
解决方案
你可以用jq的map()函数遍历数组中的每个元素,将前缀example/与每个目录名拼接起来。
假设你当前生成目录名数组的完整命令是:
tree -J -d -L 1 | jq '[.[].children[].name]'
只需要在后面追加| map("example/" + .),就能得到带前缀的数组:
tree -J -d -L 1 | jq '[.[].children[].name] | map("example/" + .)'
原理说明
map()会遍历数组的每一个元素,.代表当前正在处理的元素"example/" + .完成字符串拼接,给每个目录名加上指定前缀
举个例子,如果原数组是:
["AppBackend","list-folder-action"]
经过上述jq处理后,输出就是:
["example/AppBackend","example/list-folder-action"]
内容的提问来源于stack exchange,提问作者Edi Junior
相关产品推荐
相关产品推荐

