gpt4 book ai didi

bash - 使用 shell 脚本将输出分成多个变量

转载 作者:行者123 更新时间:2023-11-29 09:10:47 25 4
gpt4 key购买 nike

所以我有一个输出很多数字的 C 程序。我必须检查所有这些。问题是,每次我运行我的程序时,我都需要改变种子。为了做到这一点,我一直在手动进行,并试图制作一个 shell 脚本来解决这个问题。

我试过使用 sed 但无法成功。

我试图得到这样的输出:

a=$(./algorithm < input.txt)
b=$(./algorithm2 < input.txt)
c=$(./algorithm3 < input.txt)

每个算法程序的输出是这样的:

12 13 315
1 2 3 4 5 6 7 8 10 2 8 9 1 0 0 2 3 4 5

所以变量a有所有这些输出,而我需要的是

变量 a 来包含整个字符串和变量 a1 只包含第三个数字,在本例中为 315。

另一个例子:

2 3 712
1 23 15 12 31 23 3 2 5 6 6 1 2 3 5 51 2 3 21

echo $b 应该给出这个输出:

2 3 712
1 23 15 12 31 23 3 2 5 6 6 1 2 3 5 51 2 3 21

echo $b1 应该给出这个输出:

712

谢谢!

最佳答案

不完全是您要问的,但一种方法是将算法的结果存储在数组中,然后取消引用感兴趣的项目。你会写这样的东西:

a=( $(./algorithm < input.txt) )  
b=( $(./algorithm2 < input.txt) )
c=( $(./algorithm3 < input.txt) )

注意包含语句的额外 ()。现在,abc 是数组,您可以访问感兴趣的项目,如 ${a[0]} $a[1]

对于您的特定情况,由于您需要第三个元素,因此 index = 2,因此:

a1=${a[2]}
b1=${b[2]}
c1=${c[2]}

关于bash - 使用 shell 脚本将输出分成多个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55876255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com