Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

foldコマンドで数文字毎に折りたたむ

ソレなりに長い16進数ダンプの文字列があって、それを4バイトごとに折り返して格納する必要がでてきました。
awkでやろうかとも思いましたが、そういうコマンドがあるんじゃないかと調べたところ……foldコマンドを発見。
早速使ってみることに。

実際のところ

$ echo $PLCVAL=C0000200090000060000

先ほどの文字を4バイトごとに切り出す場合

~$ echo $PLCVAL | fold -b4 
C000
0200
0900
0006
0000

16進数な文字列にするなら

~$ echo $PLCVAL | fold -b4 | printf "0x%s\n" $(cat)
0xC000
0x0200
0x0900
0x0006
0x0000