On 28/07/17 07:22 AM, rpjday [ at ] crashcourse [ dot ] ca wrote: > > OK, this exercise should be a bit trickier -- given a character MAC > address, how can I break it into individual hex chars for writing to > EEPROM? So the script takes the argument, say, "A0:B1:C2:D3:E4:F5", > and I need to, one nibble at a time, get the value 0x0A, 0x0, 0x0B, 0x01 > and so on. > > (Doesn't matter if the invoker wants to put the colons in or not, I > can just run the string through "tr -d ':'" to deal with that.) > > As earlier, I can always loop through each character in the MAC address, > but I'm wondering if there's some clever "printf" format that can > do that all at once. printf doesn't cut up a string in the way you need, it truncates it so not much help there. #given MAC=00:11:aa:bC:dE:0f mac=$(echo "${MAC,,}"|tr -d ':-') echo -n "$mac => " #you can echo "$mac"|sed 's/../0x& /g' #or for i in $(seq 0 2 10 );do echo -n "0x${mac:$i:2} ";done or any variant of from the character loop > > rday > > _______________________________________________ > Linux mailing list > Linux [ at ] lists [ dot ] oclug [ dot ] on [ dot ] ca > http://oclug.on.ca/mailman/listinfo/linux