Если ваш grep
поддерживает Perl -совместимые регулярные выражения (PCRE):
summerfruit=$(grep -Po 'summer\.fruit=\K[^ ]+' file)
\K
не печатает совпадающие summer.fruit=
и [^ ]+
соответствует одному или нескольким непробельные символы после =
.
без PCRE:
summerfruit=$(grep -o 'summer\.fruit=[^ ]*' file | grep -o '[^=]*$')
с sed
:
summerfruit=$(sed 's/.*summer\.fruit=\([^ ]*\).*/\1/' file)
с awk
:
summerfruit=$(awk '{
for (i=1;i<=NF;i++)
if ($i ~ /^summer\.fruit=/){ sub(/^[^=]*=/,"",$i); print $i; exit }
}' file)