BEGIN { replace_char = "_" libFound = 0; libName = "" } $1 == "(library" { libFound = 1 } /(color [0-9]* [0-9]* [0-9]*)/ { s = index( $0, "(color" ) if ( s > 0 ) { l = substr( $0, 1, s - 1 ) l = l ")" print l next } } /Schematic_representation/ { l = "" for ( i = 1; i <= NF; i++ ) { if ( $i == "Schematic_representation" ) l = l " " "symbol" else l = l " " $i } print l next } /Graphic_representation/ { l = "" for ( i = 1; i <= NF; i++ ) { if ( $i == "Graphic_representation" ) l = l " " "symbol" else l = l " " $i } print l next } /Netlist_representation/ { cont = 1 while ( cont > 0 ) { cont = 0; vn = 0; v = 0; vr = 0; lr = 0; for ( i = 1; i <= NF; i++ ) { if ( $i == "Netlist_representation" ) { vn = i } if ( $i == "(view" ) { v = i } if ( $i == "(viewRef" ) { vr = i } if ( $i == "(libraryRef" ) { lr = i } } if ( v > 0 ) { if ( libFound == 0 ) { vns = "symbol" } else { vns = "schematic" } } else if ( vr > 0 ) { if ( lr > 0 ) { vns = "symbol" } else { schl = "" syml = "" for ( i = 1; i <= NF; i++ ) { if ( i == vn ) { schl = schl " " "schematic" syml = syml " " "symbol" } else { schl = schl " " $i syml = syml " " $i } } getline lr = index( $0, "(libraryRef" ) vr = index( $0, "(viewRef" ) nr = index( $0, "Netlist_representation" ) if ( lr > 0 && vr == 0 ) { print syml } else { print schl } if ( nr > 0 ) { cont = 1 } else { vn = 0 vns = "" } } #else } #else if } #while l = "" for ( i = 1; i <= NF; i++ ) { if ( i == vn ) l = l " " vns else l = l " " $i } print l next } /\(library / { if ( libName != "" ) { l = " " for ( i = 1; i <= NF; i++ ) { if ( i == 2 ) l = l " " libName else l = l " " $i } print l next } } /\(design / { if ( libName != "" ) { l = " " for ( i = 1; i <= NF; i++ ) { if ( i == 6 ) l = l " " libName ")))" else l = l " " $i } print l next } } /[+'\/]/ { line = $0 for(i=1; i<=length($0); i++) { hit = index("+'/",substr($0,i,1)) if(hit != 0) { line = substr(line,1,i-1) replace_char substr($0,i+1) } } print line next } { print }