awk
pode ajudar:
awk '{ if ( == "PRODUCT5:") = "$type2"; print }' input
mv output input
ou sed
sed -i '/^PRODUCT5/s/$type$/$type2/' input
Eu tenho um arquivo como este:
PRODUCT: $name | YEAR: $year | TYPE: $type
PRODUCT2: $name2 | YEAR: $year | TYPE: $type2
PRODUCT3: $name3 | YEAR: $year | TYPE: $type
PRODUCT4: $name4 | YEAR: $year | TYPE: $type3
PRODUCT5: $name5 | YEAR: $year | TYPE: $type
PRODUCT6: $name6 | YEAR: $year | TYPE: $type
PRODUCT7: $name7 | YEAR: $year | TYPE: $type3
PRODUCT8: $name8 | YEAR: $year | TYPE: $type2
E eu quero mudar um campo específico.
Por exemplo, eu quero mudar o tipo de PRODUCT5 de $ type para $ type2 , mas eu não quero substituir o todo line , apenas o campo que eu gostaria de mudar!
Isso é possível?
awk
pode ajudar:
awk '{ if ( == "PRODUCT5:") = "$type2"; print }' input
mv output input
ou sed
sed -i '/^PRODUCT5/s/$type$/$type2/' input