アウトプットができる技術者に

it's a time to take a new step !

awk 複数ファイル 結合

echo "1,apple
2,orange" > tmp/in1.csv

echo "1,100
2,200" > tmp/in2.csv

awk -f awk/join.awk tmp/in1.csv tmp/in2.csv
BEGIN{
    FS=","
    OFS=","
    i=0
}
FILENAME ==  ARGV[1] {
    id=$1
    label[id]=$2
    ids[i]=id
    i++
}

FILENAME == ARGV[2] {
    id=$1
    price[id]=$2
}

END{
    for(key in ids){
        id=ids[key]
        print id, label[id], price[id]
    }
}

出力結果

1,apple,100
2,orange,200

awk目次