読者です 読者をやめる 読者になる 読者になる

CORDEA blog

Programming及びFedora21等のLinux OSのことが多めです。

【awk】ファイルを複数の区切り文字を使って出力する場合

awk

最近小ネタばっかりですが

こんなファイルがあったとして

0,1,2,3,4,5,6,7,8,9
a,b,c,d,e,f,g,h,i,j

このような感じで出力したい場合

0	1	2	3	4:5:6:7:8:9
a	b	c	d	e:f:g:h:i:j

 

#!/bin/awk -f

BEGIN {
    FS=","
}
{
    for(i=1; i<=NF; i++) {
        if (i>5) {
            if (i==NF) {
                print $i
            } else {
                printf $i ":"
            }
        } else {
            printf $i "\t"
        }
    }
}

もう少しきれいに書けないものか...