Я пытаюсь просмотреть каждую строку в файле, найти и извлечь буквы, начинающиеся с ${
и заканчивающиеся на }
. Итак, в качестве окончательного результата я ожидаю только SOLDIR
иTEMP
(отinputfile.sh
).
Я попытался использовать следующий сценарий, но он соответствует и извлекает только второе вхождение шаблона TEMP
. Я также пытался добавить g
в конце, но это не помогает. Может кто-нибудь, пожалуйста, дайте мне знать, как сопоставить и извлечь оба/несколько вхождений в одной строке?
inputfile.sh:
.
.
SOLPORT=\`grep -A 4 '\[LocalDB\]' \${SOLDIR}/solidhac.ini | grep \${TEMP} | awk '{print $2}'\`
.
.
script.sh:
infile='inputfile.sh'
while read line ; do
echo $line | sed 's%.*${\([^}]*\)}.*%\1%g'
done < "$infile"