shell 比较两个数字数组并输出数组之间的差异
时间: 2024-04-22 21:24:30 浏览: 103
shell脚本字符串和数组的使用操作方法
要比较两个数字数组并输出数组之间的差异,可以使用循环遍历其中一个数组,然后在另一个数组中查找是否存在相同的元素。以下是一个示例代码:
```shell
# 声明两个数字数组
array1=(1 2 3 4 5)
array2=(3 4 5 6 7)
# 输出数组1中不在数组2中的元素
echo "Elements in array1 but not in array2:"
for number in "${array1[@]}"; do
found=false
for compare_number in "${array2[@]}"; do
if (( number == compare_number )); then
found=true
break
fi
done
if [[ $found == false ]]; then
echo "$number"
fi
done
# 输出数组2中不在数组1中的元素
echo "Elements in array2 but not in array1:"
for number in "${array2[@]}"; do
found=false
for compare_number in "${array1[@]}"; do
if (( number == compare_number )); then
found=true
break
fi
done
if [[ $found == false ]]; then
echo "$number"
fi
done
```
在这个示例中,我们声明了两个数字数组`array1`和`array2`,每个数组包含一些整数。通过嵌套的循环,我们遍历`array1`的每个元素,并在`array2`中查找是否存在相同的元素。如果在另一个数组中找不到相同的元素,则将其输出。同样地,我们遍历`array2`并检查在`array1`中是否存在相同的元素。
运行此脚本将会输出:
```
Elements in array1 but not in array2:
1
2
Elements in array2 but not in array1:
6
7
```
希望这个解答对你有帮助!
阅读全文