找到11747个回复
图2挂了,这里![]()
@无名啊,大佬能不能细说一下你上面的命令,命令不怎么熟有点看不懂,主要是我其实更习惯用管道这样的方式<<这样定向的方式我看不太懂
如上图,我输出所有数组能得到下图这样,当然加了个nl命令
但是当我单拧出来一个数组,那么结尾就会有一个换行🤣🤣![]()
@无名啊,没呢我闲着写的,用的git上的网易云音乐api,想写个实现本地化命令行的一些操作,读取本地json是不想一直都向api请求。哈哈🤣🤣
@无名啊,其实就是将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),然后有没有办法直接将其结果赋给脚本内变量数组(不想每次都调用),我下图用的循环取出方法,有没有更简单的
。![]()
@童真再见,最常见的原因是压缩包解压时乱码。当然也可能是程序创建中文文件夹名时乱码。
看路径,有点像谷歌浏览器的(用户)设置数据及缓存文件夹。但又没挂在谷歌的目录里,怪
虎友高配版(绿色)
我手机里也有类似的文件名,不知道是什么