gpt4 book ai didi

bash - 用 BLOCKS 行填充 bash 数组

转载 作者:行者123 更新时间:2023-12-04 16:17:05 27 4
gpt4 key购买 nike

我有一个文件(或命令的输出),其中包含由空行分隔的行 block - 如下所示:

1
2
3

4
5
6

无法弄清楚如何用每个数组单元格的行“ block ”填充 bash (4.4.12) 数组,例如

arr[0]='
1
2
3'

array[1]='
4
5
6'

使用 readarraymapfile 寻找类似线程,使用 IFS/read 和其他替代方案,但无法弄清楚该怎么做行的“ block ”,而不仅仅是一次一行。什么是魔法组合?

最佳答案

使用 bash:

declare -i c=0                      # set integer attribute

while IFS= read -r line; do
[[ -z $line ]] && c+=1
arr[$c]+="$line"$'\n'
done < file

declare -p arr # output array

输出:

declare -a arr=([0]=$'1\n2\n3\n' [1]=$'\n4\n5\n6\n')

关于bash - 用 BLOCKS 行填充 bash 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63495280/

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