0

如何将 cat 命令输出的每一行存储到一个数组中?例如,如果 cat /daemon 给了我

11.11.11-1

22.22.22-2

33.33.33-3

44.44.44-4

那么如何使用 shell 脚本将输出存储到一个数组中,并在单个 if 条件中检查该数组中是否存在“11.11.11-1”(但不在迭代内)?

4

1 回答 1

0

使用

$ cat file.txt | readarray arr
$ echo "${arr[@]}"
$ echo "${arr[2]}"

看 :

help readarray

对于第二个要求:

检查“11.11.11-1”是否在单个 if 条件中存在于该数组中(但不在迭代内)?

恐怕这在 shell 中是不可能的,但在 Perl 中是可以的。

编辑:如果你想通过迭代复制一个数组:

for i in "${arr[@]}"; do
    arr2[1]=$[arr[i}}
done
于 2013-03-13T15:48:02.673 回答