我希望在完成更新后能够将多个整数数组存储到 txt 文件中,然后能够将这些数组从 txt 文件加载到我正在使用的脚本中。
这些数组基本上将包含某些统计信息,我希望能够加载和保存它们,以便它们在每次执行脚本后更新统计信息。
有没有办法在 bash 中做到这一点?
编辑:对于下面的答案,您将如何将数组写入文件?
答案1
假设我们有一个包含两个整数数组的文件,每行一个:
$ cat file
1 20 300
1 2 3 5
我们可以按如下方式读取这些数组:
{ read -a a1; read -a a2; } <file
我们可以使用以下方法验证它们是否被正确读取declare -p
:
$ declare -p a1
declare -a a1='([0]="1" [1]="20" [2]="300")'
$ declare -p a2
declare -a a2='([0]="1" [1]="2" [2]="3" [3]="5")'
将数组保存到文件
将它们保存到文件的一种方法是:
$ { echo "${a1[*]}"; echo "${a2[*]}"; } >newfile
生成的文件如下所示:
$ cat newfile
1 20 300
1 2 3 5
答案2
您可以使用以下命令将数组写入文件
printf "%s\n" "${a1[*]}" "${a2[*]}" > file
这与 John1024 的答案兼容;它每行放置一个数组。