#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11106636 use warnings; local $_ = do { local $/; <DATA> }; print "########################################################\n"; print "Reg pat1 pat2 pat3 pat4 pat5\n"; print "########################################################\n"; print "$1 ", join(' ' x 4, $& =~ /\}(\d)/g), "\n" while /^(.*?) :.*\n(?:.*\n\1.*\n)*/gm; print "########################################################\n"; __DATA__ ########################################### pat1 U_TOP_LOGIC/i_reg_2_/Q : # {111111}111 pat2 U_TOP_LOGIC/i_reg_2_/Q : # {110111}111 pat3 U_TOP_LOGIC/i_reg_2_/Q : # {110111}011 pat4 U_TOP_LOGIC/i_reg_2_/Q : # {110111}101 pat5 U_TOP_LOGIC/i_reg_2_/Q : # {110111}110 pat1 U_TOP_LOGIC/i_reg_3_/Q : # {111111}110 pat2 U_TOP_LOGIC/i_reg_3_/Q : # {111111}111 pat3 U_TOP_LOGIC/i_reg_3_/Q : # {111111}101 pat4 U_TOP_LOGIC/i_reg_3_/Q : # {111111}110 pat5 U_TOP_LOGIC/i_reg_3_/Q : # {111111}111 pat1 U_TOP_LOGIC/i_reg_4_/Q : # {111111}111 pat2 U_TOP_LOGIC/i_reg_4_/Q : # {111111}011 pat3 U_TOP_LOGIC/i_reg_4_/Q : # {111111}111 pat4 U_TOP_LOGIC/i_reg_4_/Q : # {111111}011 pat5 U_TOP_LOGIC/i_reg_4_/Q : # {111111}111 ################################################################
Outputs:
######################################################## Reg pat1 pat2 pat3 pat4 pat5 ######################################################## U_TOP_LOGIC/i_reg_2_/Q 1 1 0 1 1 U_TOP_LOGIC/i_reg_3_/Q 1 1 1 1 1 U_TOP_LOGIC/i_reg_4_/Q 1 0 1 0 1 ########################################################
Column spacing slightly tweaked.
In reply to Re: Formatted output file with data processing
by tybalt89
in thread Formatted output file with data processing
by kshitij
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |