gpt4 book ai didi

linux - shell ||将元素添加到由行而不是空格分隔的数组

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:50:51 28 4
gpt4 key购买 nike

我正在循环读取一个文件,并且在每次迭代中都有一个字符串。我需要将此元素添加到数组但在新行中

我使用命令 ARRAYNAME+=$ELEMENTNAME

但是发生了什么,元素被添加到最后一个元素,但用“”而不是行分隔

while IFS='' read -r line || [[-n "$line" ]];do
MAPPING=`echo $line | grep -e session -e sub | cut -d: -f3 | grep -i ","`
MAPPINGMAT+=("$MAPPING")
echo ${MAPPINGMAT[*]}
done < "$1"

输出

1
1 2
1 2 3

但我需要它

1
2
3

最佳答案

使用括号:

ARRAYNAME+=("$ELEMENTNAME")

将项目附加到 ARRAYNAME 的末尾。

你看到下面输出的原因

1
1 2
1 2 3

是您在每次迭代中在循环中打印整个数组。因此 echo ${MAPPINGMAT[*]} 不应该在循环中。将其替换为简单的 echo "$MAPPING"

关于linux - shell ||将元素添加到由行而不是空格分隔的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32166765/

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