Que tal isso. Execução única de awk
, provavelmente muito rápida em comparação com o script original.
$ awk -F/ 'BEGIN{print "DOM, PROJ, CFG, LOOKUP NAME VALUE(s)"}/source\/EDDG/{a=$2", "$3", "substr($8,0,length($8)-2)", "}/lookup_name/{gsub(/^.*value="/,"");gsub(/".*/,"");print a$0}' 4.txt
DOM, PROJ, CFG, LOOKUP NAME VALUE(s)
source, EDDG, test.cfg, CUSTOMER_1
source, EDDG, test.cfg, CODE_1
$
Ou formatado melhor:
$ awk -F/ 'BEGIN {
print "DOM, PROJ, CFG, LOOKUP NAME VALUE(s)"
}
/source\/EDDG/ {
a=$2", "$3", "substr($8,0,length($8)-2)", "}
/lookup_name/ {
gsub(/^.*value="/,"")
gsub(/".*/,"")
print a$0
}' 4.txt
DOM, PROJ, CFG, LOOKUP NAME VALUE(s)
source, EDDG, test.cfg, CUSTOMER_1
source, EDDG, test.cfg, CODE_1
$