Если вы хотите проверить, что строка не состоит только из цифр:
string=$(echo "$line_from_file" | awk '{print $2}')
not_digits_only='[^[:digit:]]+'
allowed_chars='[[:alnum:]_]'
[[ $string =~ $not-digits-only && $string =~ $allowed-chars ]] && echo "Valid"
Если вы хотите увидеть, соответствует ли строка без учета верхнего или нижнего регистра (совпадение без учета регистра):
string=$(echo "$line_from_file" | awk '{print tolower($2)}')
word_lc=$(echo $word | awk '{print tolower($0)}')
[[ $string == $word_lc ]] && echo "Match"
Если у вас Bash 4:
string=$(echo "$line_from_file" | awk '{print $2}')
[[ ${string,,} == ${word,,} ]] && echo "Match"
В Bash вы можете получить второе слово из строки несколькими способами, не вызывая awk
.Один из них:
string=($line_from_file)
string=${string[1]}