小编Qir*_*han的帖子

将JSON导出到环境变量

如果我有这样的JSON,

{
    "hello1": "world1",
    "testk": "testv"
}
Run Code Online (Sandbox Code Playgroud)

我想将这些键值对中的每一个导出为环境变量,如何通过shell脚本来实现?那么,例如,当我在终端上写字时echo $hello1,world1应该打印并且类似地用于其他键值对?注意:上面的JSON存在于一个被调用但$values不在文件中的变量中.

我知道它将通过jq并为此编写一个shell脚本来完成,但它不起作用.

for row in $(echo "${values}" | jq -r '.[]'); do
    -jq() {
        echo ${row} | jq -r ${1}
    }
    echo $(_jq '.samplekey')
done
Run Code Online (Sandbox Code Playgroud)

编辑:尝试Turn的答案,我这样做了:

values='{"hello1":"world1","hello1.world1.abc1":"hello2.world2.abc2","testk":"testv"}'
for s in $(echo $values | jq -r "to_entries|map(\"\(.key)=\(.value|tostring)\")|.[]" ); do
    export $s
done
Run Code Online (Sandbox Code Playgroud)

bash shell json environment-variables jq

12
推荐指数
4
解决办法
1万
查看次数

提取R中字符向量中的所有最大长度值

我已经创建了一个函数,它基本上输出多个长度字符串,例如,

"110110" "110"    "101"    "011" 
Run Code Online (Sandbox Code Playgroud)

现在,我在变量a中分配了函数的输出,

a<- c("110110", "110",   "101",    "011")
Run Code Online (Sandbox Code Playgroud)

a的类出来是个性.现在,我只想要那些具有最大长度的字符串.例如,在该示例中,最大长度为"110110".所以,我想要那个.我尝试使用max命令,但如果有多个,则只返回一个最大长度字符串.例如,在这些字符串中,

a <- c("110", "101", "abc", "cab")
Run Code Online (Sandbox Code Playgroud)

使用max命令仅返回"cab".但是,我想要所有最大长度的字符串.我该怎么做?

string select r max

8
推荐指数
1
解决办法
4130
查看次数

为什么不打印完整的小数?

#include<iostream>

using namespace std;

int main (void)
{
    int test,r,i=0;
    float f;
    cin>>test;
    i++;
    while ( test!=0 )
    {
        cin>>r;
        f = 4*r*r + 0.25;
        cout<<"Case "<<i<<":"<<" "<<f<<"\n";
        i++;
        test--;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我制作了这个简单的程序来计算表达式的值4*r*r+0.25.这里r总是一个介于1 <= r <= 1000000之间的整数.我必须将上面的表达式的值打印到两个小数位.但是,当我输入r任何> = 50 的值时,它仅显示结果output.2,例如,在输入值时50,它将结果显示为10000.2.为什么会这样?我尝试使用double而不是浮动,但它没有帮助.

c++

3
推荐指数
1
解决办法
107
查看次数

int*转换不允许int错误的原因是什么?

#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int minimu ( int a, int b, int c );

int main (void)
{
    int t,i,j;
    cin>>t;
    while ( t != 0 )
    {
        string a;
        string b;
        cin>>a>>b;
        int k;
        int len1 = a.length();
        int len2 = b.length();
        int dp[len1][len2];
        dp[0][0] = 0;
        for ( i = 0; i < len1; i++ )
        {
            dp[i][0] = i;
        }
        for ( j = 0; j < len2; j++ )
        {
            dp[0][j] …
Run Code Online (Sandbox Code Playgroud)

c++

0
推荐指数
1
解决办法
77
查看次数

标签 统计

c++ ×2

bash ×1

environment-variables ×1

jq ×1

json ×1

max ×1

r ×1

select ×1

shell ×1

string ×1