@无名啊,其实就是将name→歌曲名和id又歌曲id放进两个数组变量里🤣。
因为我看jq就是按行输出的,所以想到有没有办法直接放进数组里而不用再去循环遍历一次。后面要用了就直接调用数组了
@庸人,你说下原始需求,感觉会有更好的实现方式
@无名啊,感谢大佬么么,其实我用的就是bash,,只是很不熟,太菜了
之前看到过这个不过我在termux终端测试输入没有高亮我以为不支持🤣🤣
@庸人,比如:
$ readarray -td $'\0' arr < <(jq -rj '[.[].name] | join("\u0000")' <<<'[{"id": 1, "name": "a\nb\n"}, {"id": 2, "name": "c\nd"}]') $ declare -p arr declare -a arr=([0]=$'a\nb\n' [1]=$'c\nd')如果你不担心你的
name里有换行符的话,可以直接:$ readarray -t arr < <(jq -r '.[].name' <<<'[{"id": 1, "name": "ab"}, {"id": 2, "name": "cd"}]') $ declare -p arr declare -a arr=([0]='ab' [1]='cd')
@庸人,直接回答:可以用
Bash的readarray来一次性读到某个数组另外:
Bash Shell更适合交互式和简单脚本使用。含有数组、字典甚至更复杂数据结构的,可能都值得你考虑换其他语言了- 不想换的话,考虑尽量用
jq来一次性生成你最终要的数据?
@无名啊,格式就是这样(图下),我主要取出元素playlist下面的所有name元素数组(.playlist[].name),然后有没有办法直接将其结果赋给脚本内变量数组(不想每次都调用),我下图用的循环取出方法,有没有更简单的
。![]()
@童真再见,最常见的原因是压缩包解压时乱码。当然也可能是程序创建中文文件夹名时乱码。
@无名啊,我替换文件时发现的
手机
@TabKey9,那个估计不行,我这个就只发图片,再做个人物介绍一类的,现在再测试typecho,还不错
看路径,有点像谷歌浏览器的(用户)设置数据及缓存文件夹。但又没挂在谷歌的目录里,怪
虎友高配版(绿色)
我手机里也有类似的文件名,不知道是什么
@晨曦,没有,年中才续费上
zb Typecho
我是晨曦,我喂自己袋盐!
是不是要过期了
我是晨曦,我喂自己袋盐!
@无名啊,有这个可能,我刚回了邮件
@庸人,你传一下原始
json文件,和写一下你期望得到的结果呗?
@虎老会泳游,不懂
为嘛不直接报价呢?还是说,只是搜集域名对应的联系人?
@TabKey9,噢,突然明白你的意思了
看来我还是太纯洁了
