यह MvG के उत्तर के समान है, लेकिन इसके लिए gawk
. की आवश्यकता नहीं है 4 और इस प्रकार -F
. का उपयोग करता है जैसा कि उस उत्तर में सुझाया गया है। यह वांछित क्षेत्रों को सूचीबद्ध करने और सूची में पुनरावृति करने के लिए एक तकनीक भी दिखाता है। इससे बड़ी सूची होने पर कोड को बनाए रखना आसान हो सकता है।
#!/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"
}