数组比较(Shell基础教程5.html)
教程
Shell 支持数组处理。数组是包含多个值的变量,在 Shell 中,任何变量都可以用作数组。数组的大小没有上限,且成员变量无需连续索引或连续分配。
数组索引从零开始:第一个元素的编号为 0。
基本语法结构:
# 定义数组
# array=(value1 value2 ... valueN.html)
array=(23 45 34 1 2 3.html)
# 引用特定值(例如:引用第 3 个值,索引为 2)
echo ${array[2]}
# 引用所有数组值
echo ${array[@]}
# 获取数组元素个数
echo ${#array[@]}练习
在本练习中,您需要比较三个数组列表,并找出所有三个数组中的公共元素。
给定数组:
a=(3 5 8 10 6.html)b=(6 5 4 12.html)c=(14 7 5 7.html)
预期结果是它们的共同元素:5。
练习代码框架
#!/bin/bash
# 在此处输入您的数组比较代码预期输出
5参考解决方案
#!/bin/bash
# 在此处输入您的数组比较代码
# 初始化数组 a, b, c
a=(3 5 8 10 6.html)
b=(6 5 4 12.html)
c=(14 7 5 7.html)
# 比较前两个数组 a 和 b,将匹配结果存入数组 z
for x in "${a[@]}"; do
for y in "${b[@]}"; do
if [ "$x" = "$y" ]; then
# 将匹配结果赋值给新数组 z
z[${#z[@]}]=$x
fi
done
done
# 将第三个数组 c 与新数组 z 进行比较
for i in "${c[@]}"; do
for k in "${z[@]}"; do
if [ "$i" = "$k" ]; then
# 将匹配结果赋值给新数组 j
j[${#j[@]}]=$i
fi
done
done
# 打印数组 j 的内容
echo ${j[@]}系列教程导航
- Hello, World!(Shell 基础教程 1.html)
- 变量 (Shell 基础教程 2.html)
- 将参数传递给脚本 (Shell 基础教程 3.html)
- 数组 (Shell 基础教程 4.html)
- 数组比较 (Shell 基础教程 5.html)
- 基本运算符 (Shell 基础教程 6.html)
- 基本字符串操作 (Shell 基础教程 7.html)
- 逻辑表达式 (Shell 基础教程 8.html)
- 循环 (Shell 基础教程 9.html)
- shell 函数 (Shell 基础教程 10.html)
- 特殊变量 (Shell 基础教程 11.html)
- 字符串操作 (Shell 基础教程 12.html)
- 捕捉信号命令 (Shell 基础教程 13.html)
- 文件测试 (Shell 基础教程 14.html)
- 输入参数解析 (Shell 基础教程 15.html)
- 管道 (Shell 基础教程 16.html)
- 输入输出 (Shell 基础教程 17.html)
- 常用表达 (Shell 基础教程 18.html)
- 特殊命令 sed(Shell 基础教程 19.html)
版权声明:本文为原创文章,版权归 戴老师的博客 所有,转载请联系博主获得授权。
本文地址:https://tushu.info/archives/shu-zu-bi-jiao-shell-ji-chu-jiao-cheng-5.html
如果对本文有什么问题或疑问都可以在评论区留言,我看到后会尽量解答。