Как искать конкретные символы в строке?

Строка:

[removed_email]

Хотите проверить:

@
.com

если эти два найдены, я хочу установить логическое значение true

bool_one=true

Как мне это сделать? Я пытался

if [ $word|grep[@] = $word]

но он не работает.

2 ответа

Вы можете сделать это следующим образом:

s='[removed_email]'
[[ "$s" == *@*.com ]] && echo "true"


вы также можете

s='[removed_email]'
[[ "$s" =~ (.*)@(.*)\.com ]] && echo "name: ${BASH_REMATCH[1]} domain ${BASH_REMATCH[2]}.com"

licensed under cc by-sa 3.0 with attribution.