ファイル内の各行をループし、${
で始まり、}
で終わる文字を見つけて抽出しようとしています。最終的な出力としては、SOLDIR
とTEMP
(inputfile.sh
)だけが必要です。sed/regexを使用して同じ行に複数のオカレンスを抽出します
私は次のスクリプトを使用しようとしましたが、パターンTEMP
の2つ目の一致と一致して抽出されたようです。私も最後に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"
TILについて 'grep -P'、ありがとう。 –
非常に便利です。ありがとう! – noumenon