rohitprajapati
2/19/2016 - 8:34 AM

Given a csv file with header. Find the max size(character length) required for each column.

Given a csv file with header. Find the max size(character length) required for each column.

# Usage: awk -f max_column_size.awk ~/Desktop/test.csv

# csv header required

BEGIN {
    FS=","
    OFS=","
}

NR == 1 {
    for(n = 1; n <= NF; n++) {
       colname[n]=$n
    }
}

NR > 1 {
    for(n = 1; n <= NF; n++) {
        if (length($n)>maxlen[n])
            maxlen[n]=length($n)
    }
}

END {
    for(i = 1; i <= NF; i++) {
            print colname[i], ":", maxlen[i];
    }
}