Điều này tương tự với câu trả lời của MvG, nhưng nó không yêu cầu gawk
4 và do đó sử dụng -F
như gợi ý trong câu trả lời đó. Nó cũng cho thấy một kỹ thuật để liệt kê các trường mong muốn và lặp qua danh sách. Điều này có thể làm cho mã dễ bảo trì hơn nếu có một danh sách lớn.
#!/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"
}