Comment detail

固定長データ (Nested Flatten)

内蔵コマンドのみのpure bashで。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
shopt -s extglob
declare -i age

function readRecord() {
    local n=$1
    local s d

    read -n 12 s
    family_name[$n]=${s%%+( )}

    read -n 12 s
    first_name[$n]=${s%%+( )}

    read -n 1 sex[$n]
    read -n 3 age[$n]
    read -n 4 year[$n]
    read -n 2 mon[$n]

    for ((d = 0; d < 31; d++));do
        eval read -n 2 date_$d[$n]

        read -n 500 s
        eval "breakfast_$d[$n]='${s%%+( )}'"

        read -n 500 s
        eval "lunch$d[$n]='${s%%+( )}'"

        read -n 500 s
        eval "dinner_$d[$n]='${s%%+( )}'"
    done
}

for ((i = 0; i < 500; i++));do
    readRecord $i
done < data.txt

Index

Feed

Other

Link

Pathtraq

loading...