У меня есть массив, а затем следующий цикл:
for i in "${familyNames[@]}"
do
name=`echo "$i"`
cat $file | grep -E \("$name"[[:blank:]]\|[[:blank:]]"$name"[[:blank:]]\|[[:blank:]]"$name"\) >> .fitnam.log
nameFem=`echo "$name"ova`
cat $file | grep -E \("$nameFem"[[:blank:]]\|[[:blank:]]"$nameFem"[[:blank:]]\|[[:blank:]]"$nameFem"\) >> .fitnam.log
done
И входной файл будет что-то вроде:
Smith John(johnsmith)
Smith Jane(janesmith)
Bauer Jack(jackbauer)
Long Jackson(jackslo)
Допустим, я ищу строку Jack
. Проблема в том, что выход также будет включать Long Jackson
. Поэтому мне нужно, чтобы последняя часть [[:blank:]]"$name"
была включена (
.
[[:blank:]]"$name"(*
не работает из-за синтаксической ошибки.
[[:blank:]]"$name""("*
не работает из-за несоответствующих скобок.
[[:blank:]]"$name"\(*
не работает из-за несоответствующих скобок.
Как мне решить эту проблему?