Ini mirip dengan jawaban MvG, tetapi tidak memerlukan gawk
4 dan dengan demikian menggunakan -F
seperti yang disarankan dalam jawaban itu. Ini juga menunjukkan teknik untuk membuat daftar bidang yang diinginkan dan mengulangi daftar tersebut. Ini dapat membuat kode lebih mudah dipelihara jika ada daftar yang besar.
#!/usr/bin/awk -f
BEGIN {
col_list = "colour shape size" # continuing with as many as desired for output
num_cols = split(col_list, cols)
FS = OFS = ","
}
NR==1 {
for (i = 1; i <= NF; i++) {
p[$i] = i # remember column for name
}
# next # enable this line to suppress headers.
}
{
delim = ""
for (i = 1; i <= num_cols; i++) {
printf "%s%s", delim, $p[cols[i]]
delim = OFS
}
printf "\n"
}