LINUX.ORG.RU

bash. найти соответствие в списке.


0

1

всем привет.

в следующем коде, пытаюсь найти соответствие в списке. но проблема в том, что если указать поиск части слова из списка, то он найдет соответствие. а не должен.

LIST="abc def"
ITEM="ab"

if [[ ! -z `"echo $LIST" | grep "$ITEM"` ]]
then
   echo "found!"
fi

вопрос в том, что нужно изменить, чтоб условие было верно только при полном соответствии?

спасибо.

★★★

Ответ на: комментарий от Bad_ptr

по поводу костыльного, спорить не стану.

спасибо.

niXman ★★★
() автор топика
Ответ на: комментарий от Bad_ptr

>костыльно решение

Ещё в баше можно так:

[[ $LIST == *ab* ]] && echo 1

но по условию задачи такой регэксп не пойдёт.

uzbl
()

нда...

grep -q «$ITEM» <<< $LIST && echo Found

zolden ★★★★★
()
Ответ на: комментарий от niXman

т.к. -w не всякий grep понимает, я всегда добавлял пробелы к поиску:

echo " $LIST " | grep " $ITEM "
sdio ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.