我想输入字符串名称(即“COL2”)到awk或cut命令,并打印与该列标题字符串匹配的列.
数据文件如下所示:
COL1 COL2 COL3 COL4 COL5 COL6 a a b d c f a d g h e f c v a s g a
如果我通过COL3,我想要打印第三列等.我在想awk可能是最简单的使用,但剪切也可以工作.我只是不知道如何去做这个.
Awk 1班以上问题(如果您有兴趣):
awk -v col=COL2 'NR==1{for(i=1;i<=NF;i++){if($i==col){c=i;break}} print $c} NR>1{print $c}' file.txt awk -v col=COL3 'NR==1{for(i=1;i<=NF;i++){if($i==col){c=i;break}} print $c} NR>1{print $c}' file.txt
只需将列名COL1,COL2,COL3等通过-vcol = flag.