gpt4 book ai didi

linux - Bash 脚本中的数组长度为 1

转载 作者:太空宇宙 更新时间:2023-11-04 10:53:54 28 4
gpt4 key购买 nike

在下面的代码中,数组长度为1。

谁能解释为什么,因为 grep 输出将显示在每一行中,但当它存储在数组中时,数组长度将为 1。

如何显示读取数组的每一行?

#!/bin/bash

NUM=()
SHORT_TEXT=()
LONG_TEXT=()

#cat /tmp/dummy2 |
while read NUM
do
LONG_TEXT+=$(grep $NUM -A4 RtpLogShm.Msg | grep -vi abate | grep ^LG)
done < /tmp/dummy2

#cat /tmp/dummy1 |
while read LINE
do
NUM+=$(echo $LINE | awk -F':' '{print $1}')
SHORT_TEXT+=$(echo $LINE | awk -F':' '{print $2}')
done < /tmp/dummy1

printf "[%s]\n" "${LONG_TEXT[@]}"
done
done

最佳答案

在 bash 中,附加到数组的语法是(假设我们想将存储在 ${new_element} 中的元素附加到现有数组 ${array[@]}):

array=("${array[@]}" "${new_element}")

关于linux - Bash 脚本中的数组长度为 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29621652/

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