因此,我需要从文本文件中读取所有行(作为调用脚本时的参数),该文本文件包含此格式的数字(1行不是2):
num1:num2
num3:num4等
我使用此命令块:
while IFS= read line
do
IFS=':' read -r -a X <<< "$line"
done < "$1"
读取行和数字并将其存储到数组X中,但该数组仅到达位置0和1,并且当它更改行时,只需将旧数字所在的新数字(例如num3)写入(例如pos中的num1) 0)
有什么解决办法吗?
答案 0 :(得分:1)
使用bash。用换行符替换所有:
并使用mapfile
填充数组x。
mapfile -t x < <(tr ':' '\n' < file)
declare -p x
输出:
declare -a x='([0]="num1" [1]="num2" [2]="num3" [3]="num4")'
请参阅:help mapfile