У меня есть два массива чисел, первый массив имеет все числа, а второй - подмножество первого, как я могу написать скрипт, чтобы найти недостающее число, которое существует в первом массиве, но не во втором массиве?сценарий оболочки сравнить два массива числа
Массив 1: [0, 1, 2, ..79] Массив 2: [1, 12, 33, 54,60, 71]
я гугл вокруг и пробовал различные подходы я нашел но ни один из них не работал
1.
declare -a array3
for i in "${array1[@]}"
if [[ "${array2[@]}" =~ "$i" || "${array2[${#array2[@]}-1]}" == "$i" ]]; then
else
array3+=("$i")
fi
done
2.
array3=()
for i in "${array1[@]}";do
skip=
for j in "$array2[@]";do
[[ $i == $j ]] && { skip=1; break; }
done
[[ -n $skip ]] || array3+=("$i")
done
declare -p array3
i m новый для скрипта bash, пожалуйста, помогите!
ли элементы в каждом массиве отсортированные? Если это так, вам нужно запустить цикл с, например, индексом '$ i' для' array1' и '$ j' для' array2', и вы обнаружите, что '$ array1 [$ i]' меньше чем '$ array2 [$ j', или равный ему, или больше, чем он. Если число в '$ array1 [$ i]' меньше, напечатайте его и увеличьте '$ i'; если значения равны, увеличьте как '$ i', так и' $ j'; если он больше, увеличьте '$ j'. Остановитесь, когда вы достигнете конца любого массива. –