O principal problema é que não sabemos quantas linhas com Value
temos. Portanto, a solução é um pouco complicada:
sed -n '/^<Value/{s/^<[^>]*>/=/;s/<[^>]*>$//;p}' log1.txt | sort | cat -n |\
sed 's/^\s\+\([0-9]*\)\s\+=/SET DIMM=/'
em que o primeiro sed
greps linhas com Valor e remove <>
tags. Depois disso, sort
irá ordenar as linhas, cat -n
irá enumerá-las e a última sed
irá mover o número da linha para DIMM-num-
.
Com awk
, seria muito próximo de sed
solution:
awk -F'>' '/^<Value/{gsub ("<.*", "", $2);print $2}' log1.txt | sort |\
awk '{print "SET DIMM"NR"="$0}'