tarr
名前
tarr : 横型のデータを縦型に展開する。
書式
使い方とオプション
Usage
tarr [-<n>] [-d<str>] <file> tarr [-<n>] [-d<str>] num=<n> <file>
説明
指定したファイルの、第1フィールド目から “num=<n>” で指定したフィールド数までのフィールドをキーとして、横に並んでいるフィールドデータを縦に展開して並べ直します。
例(その1)
基本的な使い方 (元データ:data) $ cat data 0000000 浜地______ 50 F 91 59 20 76 0000001 鈴田______ 50 F 46 39 8 5 0000003 杉山______ 26 F 30 50 71 36 0000004 白土______ 40 M 58 71 20 10 $ tarr num=4 data <- 第4フィールドまでをキーに縦に展開 0000000 浜地______ 50 F 91 0000000 浜地______ 50 F 59 0000000 浜地______ 50 F 20 0000000 浜地______ 50 F 76 0000001 鈴田______ 50 F 46 0000001 鈴田______ 50 F 39 0000001 鈴田______ 50 F 8 0000001 鈴田______ 50 F 5 0000003 杉山______ 26 F 30 0000003 杉山______ 26 F 50 0000003 杉山______ 26 F 71 0000003 杉山______ 26 F 36 0000004 白土______ 40 M 58 0000004 白土______ 40 M 71 0000004 白土______ 40 M 20 0000004 白土______ 40 M 10
例(その2)
-<n> オプションを指定すると “<n>” フィールド毎に縦展開します。
$ tarr -2 num=4 data <- 2フィールド毎に縦展開します。 0000000 浜地______ 50 F 91 59 0000000 浜地______ 50 F 20 76 0000001 鈴田______ 50 F 46 39 0000001 鈴田______ 50 F 8 5 0000003 杉山______ 26 F 30 50 0000003 杉山______ 26 F 71 36 0000004 白土______ 40 M 58 71 0000004 白土______ 40 M 20 10
例(その3)
num=<n> を指定しないと、単純に縦展開します。
$ cat data3 1 2 3 4 5 6 $ tarr data3 1 2 3 4 5 6
例(その4)
-d<str> オプションは縦展開するフィールドのフィールドセパレータを指定します。num=<n> で指定されるキーフィールドは空白区切りでないといけません。
$ cat data4 0000000 浜地______ 50 F 91@59@20@76@54 0000001 鈴田______ 50 F 46@39@8@5@21 0000003 杉山______ 26 F 30@50@71@36@30 0000004 白土______ 40 M 58@71@20@10@6 $ tarr -d@ num=4 data4 0000000 浜地______ 50 F 91 0000000 浜地______ 50 F 59 0000000 浜地______ 50 F 20 0000000 浜地______ 50 F 76 0000000 浜地______ 50 F 54 0000001 鈴田______ 50 F 46 0000001 鈴田______ 50 F 39 0000001 鈴田______ 50 F 8 0000001 鈴田______ 50 F 5 0000001 鈴田______ 50 F 21 0000003 杉山______ 26 F 30 0000003 杉山______ 26 F 50 0000003 杉山______ 26 F 71 0000003 杉山______ 26 F 36 0000003 杉山______ 26 F 30 0000004 白土______ 40 M 58 0000004 白土______ 40 M 71 0000004 白土______ 40 M 20 0000004 白土______ 40 M 10 0000004 白土______ 40 M 6 $ cat data5 0001 1¥n2¥n3 0002 4¥n5¥n6 $ tarr -d'¥n' num=1 data5 0001 1 0001 2 0001 3 0002 4 0002 5 0002 6
例(その5)
-d<str> オプションの <str> を指定しないと、-<n> オプションを文字数と看做して、その文字数を出力します。字数が不足する場合は、 残り文字すべてを出力します。空白は特別な意味を持たず、1文字と数えられます。
$ cat data6 0001 abcd efgh ijkl 0002 いろはに ほへとち りぬるを $ tarr -4 -d num=1 data6 0001 abcd 0001 efg 0001 h ij 0001 kl 0002 いろはに 0002 ほへと 0002 ち りぬ 0002 るを
Version and Edition
Version : Tue Jun 18 19:00:37 JST 2019
Edition : 2
© 2021 Universal Shell Programming Laboratory site