bash проверить наличие элемента массива в строке
Есть массив с исключениями
EXCLUDE_LIST=(
"программа"
"сканер"
"компьютер"
)
и строка
str="Программа для просмотра изображений и факсов"
Как можно проверить наличие какого либо элемента массива в строке str? Если в строке str встречается какой-либо элемент массива, то, например, не выводить эту строку на экран.
str="Программа для просмотра изображений и факсов" - Не выводить на экран
str="Приложение для просмотра изображений и факсов" - Выводить на экран
Проверить наличие строки в массиве можно легко:
if [[ " ${array[@]} " =~ " ${value} " ]]; then
echo "Есть такая строка в массиве"
fi
Но как сделать наоборот?
Ответы (1 шт):
Автор решения: Вадим
→ Ссылка
Добавьте ! перед условием if:
if ! [[ ${ARRAY[@]} =~ $VALUE ]]; then
echo "Есть такая строка в массиве"
fi