splitとpasteでXとYを入れ替える

韓国ドラマ『シティーハンター in Seoul』(2011)(イ・ミンホ パク・ミニョン)
幼い頃から養父に叩きこまれてものものすごく強くなった主人公は、都会で復讐を始めます。容姿は良いし、金持ってるし、女子にモテモテだし、強いし、優しいし、頭良いし、しかし好きな女子に嫌味を言ってしまう不器用なところもあります。まあ、それは欠点ではないですね。むしろ長所です。原作が北条司の『シティハンター』ですが、共通点ってXYZが出てくるぐらいでしょうか。切ないオリジナルストーリーで楽しめます。

スペースで区切られた表のXとY、つまり縦と横の入れ替えをしてみます。
まずは元データ。

~$ seq 0 255 | perl -ne 'print chr' > a.bin
~$ od -tx1 -An a.bin > a
~$ cat a
 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f
 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f
 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f
 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f
 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f
 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af
 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf
 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf
 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df
 e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef
 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff
~$ 

splitで一行毎に分割。

~$ split -dl1 a
~$ ls
a      x00  x02  x04  x06  x08  x10  x12  x14
a.bin  x01  x03  x05  x07  x09  x11  x13  x15
~$ 

スペースを改行に変換して行を列に変換します。

~$ sed 's/ /\n/g' -i x*
~$ 

各列をpasteで結合します。

~$ paste -d' ' x* > n

出来上がりです。

~$ cat b
               
00 10 20 30 40 50 60 70 80 90 a0 b0 c0 d0 e0 f0
01 11 21 31 41 51 61 71 81 91 a1 b1 c1 d1 e1 f1
02 12 22 32 42 52 62 72 82 92 a2 b2 c2 d2 e2 f2
03 13 23 33 43 53 63 73 83 93 a3 b3 c3 d3 e3 f3
04 14 24 34 44 54 64 74 84 94 a4 b4 c4 d4 e4 f4
05 15 25 35 45 55 65 75 85 95 a5 b5 c5 d5 e5 f5
06 16 26 36 46 56 66 76 86 96 a6 b6 c6 d6 e6 f6
07 17 27 37 47 57 67 77 87 97 a7 b7 c7 d7 e7 f7
08 18 28 38 48 58 68 78 88 98 a8 b8 c8 d8 e8 f8
09 19 29 39 49 59 69 79 89 99 a9 b9 c9 d9 e9 f9
0a 1a 2a 3a 4a 5a 6a 7a 8a 9a aa ba ca da ea fa
0b 1b 2b 3b 4b 5b 6b 7b 8b 9b ab bb cb db eb fb
0c 1c 2c 3c 4c 5c 6c 7c 8c 9c ac bc cc dc ec fc
0d 1d 2d 3d 4d 5d 6d 7d 8d 9d ad bd cd dd ed fd
0e 1e 2e 3e 4e 5e 6e 7e 8e 9e ae be ce de ee fe
0f 1f 2f 3f 4f 5f 6f 7f 8f 9f af bf cf df ef ff
~$ 

昔は、駅の伝言板でXYZの落書きを良く見かけたのですが、いつの間にか伝言板自体を見ていない気がします。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA