【发布时间】:2018-03-27 02:36:33
【问题描述】:
在下面的代码中,数组长度为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
【问题讨论】:
-
您没有将 LONG_TEST 创建为数组 - 请参阅此处了解如何将结果存储为数组 - stackoverflow.com/questions/24890764/…