Как я проверяю, существуют ли данные в для цикла

У меня есть массив, содержит серию чисел:

10213
20223
30843
50981
60934

Что я могу сделать, чтобы проверить, имеет ли массив элемент, который запускается с номера 4?

for element in array; do
    if # $element starts with 4
    then
        echo "The data exists"
    else
        echo "No data"
    fi
done
1
задан 21 February 2017 в 03:46

1 ответ

Если числа уже находятся в массиве удара, можно сделать:

msg="There are no numbers starting with '4' in the array."
for num in "${array[@]}"; do
        if [[ $num =~ ^4 ]]; then
                msg="The array contains an element starting with 4"
                break
        fi
done
echo "$msg"

Или, если Вам нравится короче, более загадочные решения:

printf '%s\n' "${array[@]}" | grep -q ^4 && echo "Yes" || echo "No"
2
ответ дан 7 December 2019 в 13:36

Другие вопросы по тегам:

Похожие вопросы: