Если вы просто хотите заменить значение $$DRM45_RowCount
, вы можете использовать awk
следующим образом:
awk -va=99 '{
if (substr($0,1,17) == "$$DRM45_RowCount=") {
print "$$DRM45_RowCount=" a
} else {
print
}
}'
Элементы управления -va=99
заменяют текущее значение (в данном случае оно изменяется на 99).
Следующая тестовая команда:
echo '[WCPIT_BIO_EDW.WF:w_DDDMD_LNDG_IMS_NONRET_SALES]
$$Cust_RowCount=72648
$$Sales_RowCount=5235998
$$OuletChangeLog_RowCount=931
$$DRM45_RowCount=581
$$Control_RowCount=4495
$$Outl_Subcat_RowCount=105
$$Fac_Subcat_RowCount=149' | awk -va=99 '{
if (substr($0,1,17) == "$$DRM45_RowCount=") {
print "$$DRM45_RowCount=" a
} else {
print
}
}'
выходы:
[WCPIT_BIO_EDW.WF:w_DDDMD_LNDG_IMS_NONRET_SALES]
$$Cust_RowCount=72648
$$Sales_RowCount=5235998
$$OuletChangeLog_RowCount=931
$$DRM45_RowCount=99
$$Control_RowCount=4495
$$Outl_Subcat_RowCount=105
$$Fac_Subcat_RowCount=149
В качестве альтернативы вы можете использовать sed
:
sed 's/^$$DRM45_RowCount=.*$/$$DRM45_RowCount=99/'
или
export a=99
sed "s/^\$\$DRM45_RowCount=.*$/\$\$DRM45_RowCount=$a/"