# some number is different cat portbus.txt [15:0]abc [3:0]def ghi jkl [3:0]mno [6:0]pqr stu etc perl -nlE "push @res,/\[(\d+):(\d+)\](\w+)/?map{$3.qq([$_])}$2..$1:$_;END{say for @res}" portbus.txt abc[0] abc[1] abc[2] abc[3] abc[4] abc[5] abc[6] abc[7] abc[8] abc[9] abc[10] abc[11] abc[12] abc[13] abc[14] abc[15] def[0] def[1] def[2] def[3] ghi jkl mno[0] mno[1] mno[2] mno[3] pqr[0] pqr[1] pqr[2] pqr[3] pqr[4] pqr[5] pqr[6] stu etc