I have a list of numbers, comma-separated:
123711184642,02,3583090366663629,639f02012437d4
123715942138,01,3538710295145500,639f02afd6c643
123711616258,02,35
cat all_info_List.csv| awk 'BEGIN {FS="|"}{print $21}'| awk 'BEGIN {FS=":"}{p1=$1":"$2":"$3":"$4":"$5":"; p2 = strtonum("0x"$6); printf("%s%02X\n",p1,p2+1) }'
The above command prints the contents of "all_info_List.csv", a file where the field separator is "|".
Then takes field 21 (MAC address) and splits it using field separator ":".
It assigns to variable "p1" the first 5 bytes of each mac address, so if we had this mac address:"11:22:33:44:55:66", p1 would be: "11:22:33:44:55:".
p2 is assigned with the decimal value of the last byte: "0x66" would assign "102" decimal to p2.
Finally, I'm using printf to join p1 and p2, while converting p2 back to hex, after adding one to it.