Sto provando a scorrere in ogni riga di un file e trovare ed estrarre lettere che iniziano con ${
e terminano con }
. Quindi, come output finale, mi aspetto solo SOLDIR
e TEMP
(da inputfile.sh
).Estrarre più occorrenze sulla stessa linea utilizzando sed/regex
Ho provato a utilizzare il seguente script ma sembra corrispondere ed estrae solo la seconda occorrenza del modello TEMP
. Ho anche provato ad aggiungere g
alla fine, ma non aiuta. Qualcuno potrebbe per favore fammi sapere come abbinare ed estrarre entrambe le occorrenze/multiple sulla stessa linea?
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 riguardo 'grep -P', grazie. –
Molto utile. Grazie! – noumenon